excel汉字拼音首字母的提取方法和完整代码介绍

   2020-11-20 IP属地 浙江1660
核心提示:文章介绍excel汉字拼音首字母提取的自定义函数,以及使用方法。
内容提要:文章介绍excel汉字拼音首字母提取的自定义函数,以及使用方法。

关于excel汉字拼音首字母提取的自定义函数,在网上看了一些代码,总有点小遗憾,一些自定义来提取汉字拼音首字母,如果数据源里面有字母或者数字将会被忽略掉。

下面这个excel汉字拼音首字母提取的自定义函数,相对完美一些,做了容错处理,考虑到了如果是数字或者字母,将会自动显示出来,如果是汉字才进行提取拼音首字母。

下面是上面所示效果图的提取汉字拼音首字母的VBA代码:

OptionExplicit
FunctionPY(TTAsString)AsVariant'自定义函数,目的:把一组汉字变为一组汉字拼音的第一个字母。
Dimi%,temp$
   PY=""
   Fori=1ToLen(TT)
        temp=Asc(Mid$(TT,i,1))
        Iftemp>255Ortemp<0Then  '是汉字吗?
            PY=PY&pinyin(Mid$(TT,i,1))'转化为拼音首字母,
        Else
            PY=PY&LCase(Mid$(TT,i,1)) '转化英文字母
        EndIf
   Nexti
EndFunction
Functionpinyin(myStrAsString)AsVariant'自定义函数,目的:把单个汉字变为拼音的第一个字母。
   OnErrorResumeNext
   myStr=StrConv(myStr,vbNarrow)
   IfAsc(myStr)>0OrErr.Number=1004Thenpinyin=""
   pinyin=Application.WorksheetFunction.VLookup(myStr,[{"吖","A";"八","B";"嚓","C";"?,"D";"z","E";"发","F";"g","G";"铪","H";"","J";"咔","K";"垃","L";"`","M";"?,"N";"噢","O";"r","P";"七","Q";"?,"R";"仨","S";"他","T";"?,"W";"夕","X";"丫","Y";"","Z"}],2)
EndFunction

使用方法是:打开excel文档,按下ALT+F11,打开VBE编辑器,然后插入――模块,复制上面的代码,关闭VBE。回到工作表中,输入公式,比如:=py(A2),就可以提取A2单元格汉字拼音首字母。

 
反对 0举报收藏 0打赏 0评论 0
更多>相关评论
暂时没有评论,来说点什么吧
更多>同类办公
推荐图文
推荐办公
点击排行