excel 汉字拼音首字母提取的自定义函数,以及使用方法
时间:2022-10-21 11:08:42
关于excel汉字拼音首字母提取的自定义函数,在网上看了一些代码,总有点小遗憾,一些自定义来提取汉字拼音首字母,如果数据源里面有字母或者数字将会被忽略掉。
下面这个excel汉字拼音首字母提取的自定义函数,相对完美一些,做了容错处理,考虑到了如果是数字或者字母,将会自动显示出来,如果是汉字才进行提取拼音首字母。
下面是上面所示效果图的提取汉字拼音首字母的VBA代码:
Option Explicit
Function PY(TT As String) As Variant '自定义函数,目的:把一组汉字变为一组汉字拼音的第一个字母。
Dim i%, temp$
PY = ""
For i = 1 To Len(TT)
temp = Asc(Mid$(TT, i, 1))
If temp > 255 Or temp < 0 Then '是汉字吗?
PY = PY & pinyin(Mid$(TT, i, 1)) '转化为拼音首字母,
Else
PY = PY & LCase(Mid$(TT, i, 1)) '转化英文字母
End If
Next i
End Function
Function pinyin(myStr As String) As Variant '自定义函数,目的:把单个汉字变为拼音的第一个字母。
On Error Resume Next
myStr = StrConv(myStr, vbNarrow)
If Asc(myStr) > 0 Or Err.Number = 1004 Then pinyin = ""
pinyin = Application.WorksheetFunction.VLookup(myStr, [{"吖","A";"八","B";"嚓","C";"咑","D";"鵽","E";"发","F";"猤","G";"铪","H";"夻","J";"咔","K";"垃","L";"嘸","M";"旀","N";"噢","O";"妑","P";"七","Q";"囕","R";"仨","S";"他","T";"屲","W";"夕","X";"丫","Y";"帀","Z"}], 2)
End Function
使用方法是:打开excel文档,按下ALT+F11,打开VBE编辑器,然后插入——模块,复制上面的代码,关闭VBE。回到工作表中,输入公式,比如:=py(A2),就可以提取A2单元格汉字拼音首字母。
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
word中各种线条样式输入方法大全
![](https://img.aspxhome.com/file/2023/4/20854_0s.jpg)
excel利用选择性粘贴将筛选后的公式结果批量转换为值
win10以太网控制器出现感叹号怎么办?win10以太网控制器出现感叹号怎么解决
![](https://img.aspxhome.com/file/2023/9/47589_0s.png)
Excel到期示意表的提醒功能怎么设置
excel图表公式结果为空值,如何忽略该空值,计算单元格数量
![](https://img.aspxhome.com/file/2023/2/a142172_0s.png)
excel怎样设置选择下拉列表
Word中文档设置每页不同页眉页脚的操作方法
excel如何提取身份证信息中的数据?
![](https://img.aspxhome.com/file/2023/3/40823_0s.jpg)
如何利用Exce临时充当计算器
利用VBA获取Excel最近使用的工作簿列表
win10待机蓝屏代码machine怎么解决详细教程
![](https://img.aspxhome.com/file/2023/1/48181_0s.jpg)
Excel表格中应用程序复制和剪切的操作技巧
Excel 如何删除误差线的3种方法
![](https://img.aspxhome.com/file/2023/4/a154054_0s.jpg)
excel怎么取重复数值最新关联数据?
![](https://img.aspxhome.com/file/2023/2/42552_0s.jpg)
Excel中NA函数的语法和用法
![](https://img.aspxhome.com/file/2023/4/a155704_0s.png)
win10系统无法进入安全模式和系统界面怎么办?
![](https://img.aspxhome.com/file/2023/4/46774_0s.jpg)
如何安装win10 iso文件 安装win10 iso文件方法步骤
![](https://img.aspxhome.com/file/2023/6/49266_0s.png)
如何在Excel中创建超链接跳转到Word文档内指定位置
![](https://img.aspxhome.com/file/2023/3/a156223_0s.jpg)
Excel如何批量新建文件夹
![](https://img.aspxhome.com/file/2023/6/a153366_0s.jpg)