在工作中,为了便于查询、排序或编码,需要生成汉字内容信息的首字母。如果信息很多,一一录入就很麻烦。这里有一个方便的方法,可以轻松获得汉字拼音的首字母。
最终效果如下:
创建一个新的Excel文件并输入示例汉字。
“文件”->“选项”->“自定义功能区”->“主选项卡”->选中“开发工具”
单击确定后,在导航菜单中添加“开发工具”
打开“开发工具”菜单,单击第一个“Visual Basic”,弹出代码窗口,
在窗口左侧的空白处,右键单击并选择Insert->Module。窗口右侧出现白色背景框。
将以下内容复制粘贴到右框中(虚线之间的内容,不包括虚线):
--------------------------------------------
函数getpychar(char)
TMP=65536+Asc(char)
如果(tmp>=45217和tmp<=45252),则
Getpychar=“a”
Elsefif(tmp>=45253和tmp<=45760)则
Getpychar=“b”
Elsefif(tmp>=45761和tmp<=46317)则
Getpychar=“c”
Elsefif(tmp>=46318和tmp<=46825)则
Getpychar=“d”
Elsefif(tmp>=46826和tmp<=47009)则
Getpychar=“e”
Elsefif(tmp>=47010和tmp<=47296),则
Getpychar=“f”
Elsefif(tmp>=47297和tmp<=47613)则
Getpychar=“g”
Elsefif(tmp>=47614和tmp<=48118)则
Getpychar=“h”
Elsefif(tmp>=48119和tmp<=49061),则
Getpychar=“j”
Elsefif(tmp>=49062和tmp<=49323)则
Getpychar=“k”
Elsefif(tmp>=49324和tmp<=49895)则
Getpychar=“L”
Elsefif(tmp>=49896和tmp<=50370)则
Getpychar=“m”
Elsefif(tmp>=50371和tmp<=50613)则
Getpychar=“n”
Elsefif(tmp>=50614和tmp<=50621),则
Getpychar=“O”
ElseIf(tmp>=50622和tmp<=50905)
然后
Getpychar=“p”
Elsefif(tmp>=50906和tmp<=51386)则
Getpychar=“q”
Elsefif(tmp>=51387和tmp<=51445)则
Getpychar=“r”
Elsefif(tmp>=51446和tmp<=52217)则
Getpychar=“s”
Elsefif(tmp>=52218和tmp<=52697)则
Getpychar=“t”
Elsefif(tmp>=52698和tmp<=52979)则
Getpychar=“w”
Elsefif(tmp>=52980和tmp<=53640)则
Getpychar=“x”
Elsefif(tmp>=53679和tmp<=54480)则
Getpychar=“y”
Elsefif(tmp>=54481和tmp<=62289)则
Getpychar=“z”
如果不是中文,则“else”不处理
Getpychar=char
如果结束
结束函数
“把ASC代码一个接一个地拿来
函数getpy
对于i=1 To Len(STR)
Getpy=Getpy ge
Tpychar(mid(str,i,1))
下一个i
结束函数
--------------------------------------------
点击菜单中的“保存”弹出提示框,点击“是”,再次弹出提示框,点击“确定”。
关闭代码窗口并返回到Excel文件。将鼠标导航到拼音首字母列(C2单元格)的第一行。
Enter=getpy(B2)在函数框中,(调用自定义函数获取B2单元格中汉字内容的首字母)Enter,可以看到B2单元格中内容的首字母。
将鼠标定位到单元格C2的右下角,光标变成黑色十字,按住鼠标左键,下拉到C15行。获取所有内容的第一个字母。