有一些場合昨悼,要用到漢字的首字母縮寫,而Excel中并沒有這樣一個(gè)函數(shù)妓灌,可以直接提取漢字的首字母轨蛤。不過拓展性極強(qiáng)大的VBA給提供了無限的可能。
今天就在這里介紹一下虫埂,如何用自定義函數(shù)祥山,來實(shí)現(xiàn)提取漢字首字母的功能。
1掉伏、首先缝呕,打開Excel,同時(shí)按下Alt+F11鍵岖免,打開VBE界面岳颇,如下圖所示。在VBE界面中颅湘,單擊圖片中所示的左上角空白處话侧,選擇“插入“,”模塊“闯参。
2瞻鹏、此時(shí)悲立,就插入了一個(gè)模塊,后面的代碼就要放到這個(gè)模塊中新博,保證右側(cè)空白區(qū)域是模塊代碼的編輯區(qū)(最保險(xiǎn)的做法是雙擊模塊)薪夕,然后執(zhí)行下一步操作。
3赫悄、將下面的代碼全部復(fù)制粘貼到空白區(qū)域原献。
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
4、然后關(guān)閉這個(gè)新界面埂淮,返回Excel姑隅,就可以像Excel自帶的函數(shù)一樣使用這個(gè)自定義的Getpy函數(shù)了,它只有一個(gè)參數(shù)倔撞,參數(shù)可以直接指定單元格讲仰,也可以直接輸入字符。
5痪蝇、需要注意的是鄙陡,Getpy函數(shù),只返回漢字拼音的首字母躏啰,如果是其他的字母或者數(shù)據(jù)等非漢字文本趁矾,會(huì)返回原來的值,如下圖所示:
6丙唧、好了愈魏,關(guān)于Excel中如何用函數(shù)實(shí)現(xiàn)提取漢字的首字母的經(jīng)驗(yàn)就介紹到這里。
7想际、本文原創(chuàng)出處:https://jingyan.baidu.com/article/7f41ecec0bca3e593c095c56.html
文外話:每次遇到問題無法解決的時(shí)候培漏,就是先上網(wǎng)找找有沒有先輩高手已解決問題的,時(shí)間一長胡本,即使收藏了相關(guān)網(wǎng)站也很難再次去查看牌柄,故轉(zhuǎn)載至此處,歸類整理侧甫,方便再次遇到的時(shí)候珊佣,可以信手拈來。在此披粟,也感謝原作者分享咒锻。