鲸落

Menu

使用EXCEL批量生成拼音首字母助记码

在使用EXCEL的时候为了快速查找,经常遇到需要使用助记码缩写来达到快速查找的要求。

这篇文章就是介绍使用EXCEL的宏工具批量快速生成助记码。

比如刚好我在做的用下图的第二列的通用名称生成第一列的拼音首字母助记码。

1、首先 打开要生成的EXCEL文件,选择工具--宏---Visual Basic编辑器(快捷键:alt+f11)。

2、然后选择顶上菜单栏:插入--模块--把下方的代码粘贴到里面,保存(直接右上角X掉退出也是保存)。

  1. Function PinYin(Hz As String)
  2.   Dim PinMa As String
  3.   Dim MyPinMa As Variant
  4.   Dim Temp As Integer, i As Integer, j As Integer
  5.   PinMa = "a,20319,"
  6.   PinMa = PinMa & "b,20283,"
  7.   PinMa = PinMa & "c,19775,"
  8.   PinMa = PinMa & "d,19218,"
  9.   PinMa = PinMa & "e,18710,"
  10.   PinMa = PinMa & "f,18526,"
  11.   PinMa = PinMa & "g,18239,"
  12.   PinMa = PinMa & "h,17922,"
  13.   PinMa = PinMa & "j,17417,"
  14.   PinMa = PinMa & "k,16474,"
  15.   PinMa = PinMa & "l,16212,"
  16.   PinMa = PinMa & "m,15640,"
  17.   PinMa = PinMa & "n,15165,"
  18.   PinMa = PinMa & "o,14922,"
  19.   PinMa = PinMa & "p,14914,"
  20.   PinMa = PinMa & "q,14630,"
  21.   PinMa = PinMa & "r,14149,"
  22.   PinMa = PinMa & "s,14090,"
  23.   PinMa = PinMa & "t,13318,"
  24.   PinMa = PinMa & "w,12838,"
  25.   PinMa = PinMa & "x,12556,"
  26.   PinMa = PinMa & "y,11847,"
  27.   PinMa = PinMa & "z,11055,"
  28.   MyPinMa = Split(PinMa, ",")
  29.   For i = 1 To Len(Hz)
  30.   Temp = Asc(Mid(Hz, i, 1))
  31.       If Temp < 0 Then
  32.         Temp = Abs(Temp)
  33.         For j = 45 To 1 Step -2
  34.             If Temp <= Val(MyPinMa(j)) Then
  35.                 PinYin = PinYin & MyPinMa(j - 1)
  36.                 Exit For
  37.             End If
  38.         Next
  39.       Else
  40.          ' 保留非汉字字符
  41.       PinYin = PinYin & Mid(Hz, i, 1)
  42.       End If
  43.   Next
  44.   PinYin = Trim(PinYin)
  45. End Function

然后回到编辑页。用起来也很简单

比如我是B1需要在A1生成助记码,直接在A1输入=pinyin(B1),然后就生成了。然后可以参照我的下拉套用格式。

是不是很简单,结束。。。。

— 于 共写了1475个字
— 文内使用到的标签:

发表评论

电子邮件地址不会被公开。 必填项已用*标注