關(guān)于excel漢字拼音首字母提取的自定義函數(shù),在網(wǎng)上看了一些代碼,總有點(diǎn)小遺憾,一些自定義來提取漢字拼音首字母,如果數(shù)據(jù)源里面有字母或者數(shù)字將會(huì)被忽略掉。
下面這個(gè)excel漢字拼音首字母提取的自定義函數(shù),相對(duì)完美一些,做了容錯(cuò)處理,考慮到了如果是數(shù)字或者字母,將會(huì)自動(dòng)顯示出來,如果是漢字才進(jìn)行提取拼音首字母。
下面是上面所示效果圖的提取漢字拼音首字母的VBA代碼:
Option Explicit
Function PY(TT As String) As Variant '自定義函數(shù),目的:把一組漢字變?yōu)橐唤M漢字拼音的第一個(gè)字母。
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)) '轉(zhuǎn)化為拼音首字母,
Else
PY = PY & LCase(Mid$(TT, i, 1)) '轉(zhuǎn)化英文字母
End If
Next i
End Function
Function pinyin(myStr As String) As Variant '自定義函數(shù),目的:把單個(gè)漢字變?yōu)槠匆舻牡谝粋(gè)字母。
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ā)","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編輯器,然后插入——模塊,復(fù)制上面的代碼,關(guān)閉VBE;氐焦ぷ鞅碇,輸入公式,比如:=py(A2),就可以提取A2單元格漢字拼音首字母。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:excel漢字拼音首字母的提取方法和完整代碼介紹
本文網(wǎng)址:http://www.ezxoed.cn/html/support/11139213079.html