最近做项目,客户肯定数据都是通过Excel表格处理,比如A列是文字,B列是A列的文字的首字母。这种需求写sql也可以处理,不过通过Excel处理好导入数据更快捷,下面是处理方式
1、启动Excel,同时按下Alt+F11键,打开VBE界面,如下图所示。在VBE界面中,单击图片中所示的左上角空白处,选择“插入”,“模块”。
2、此时,就插入了一个模块,后面的代码就要放到这个模块中,保证右侧空白区域是模块代码的编辑区(最保险的做法是双击模块),然后执行下一步操作。
3、将下面的代码全部复制粘贴到空白区域。
Function pinyin(p As String) As String
i = Asc(p)
Select Case i
Case -20319 To -20284: pinyin = "a"
Case -20283 To -19776: pinyin = "b"
Case -19775 To -19219: pinyin = "c"
Case -19218 To -18711: pinyin = "d"
Case -18710 To -18527: pinyin = "e"
Case -18526 To -18240: pinyin = "f"
Case -18239 To -17923: pinyin = "g"
Case -17922 To -17418: pinyin = "h"
Case -17417 To -16475: pinyin = "j"
Case -16474 To -16213: pinyin = "k"
Case -16212 To -15641: pinyin = "l"
Case -15640 To -15166: pinyin = "m"
Case -15165 To -14923: pinyin = "n"
Case -14922 To -14915: pinyin = "o"
Case -14914 To -14631: pinyin = "p"
Case -14630 To -14150: pinyin = "q"
Case -14149 To -14091: pinyin = "r"
Case -14090 To -13319: pinyin = "s"
Case -13318 To -12839: pinyin = "t"
Case -12838 To -12557: pinyin = "w"
Case -12556 To -11848: pinyin = "x"
Case -11847 To -11056: pinyin = "y"
Case -11055 To -2050: pinyin = "z"
Case Else: pinyin = p
End Select
End Function
Function getpy(str)
For i = 1 To Len(str)
getpy = getpy & pinyin(Mid(str, i, 1))
Next i
End Function
然后ctrl+s保存,他会提示保存,一路选择是。
4、回到Excel表格,比如我们需要处理的表格是A列,要生成的表格是B列,则写入如下公式
=getpy(A2)
以上的意思是,选中B2单元格。然后输入公式=getpy(A2),b2就获取到A2的汉字首字母了,如果要多个。就ctrl加表格下的小+号一直推就完成了。