excel表格中自动填写拼音首字母缩写(转载,非原创)

把下面的代码复制在一个VBE模块里面,然后在工作表里面像使用其他函数一样使用HZP()函数就可以了
比如A1 是 中国人  则在B1输入公式: =HZP(a1) 就会显示结果 ZGR
Option Explicit

Public Function py(mystr As String) As String
    Dim i As Long
    i = Asc(mystr)
    Select Case i
        Case -20319 To -20284: py = "A"
        Case -20283 To -19776: py = "B"
        Case -19775 To -19219: py = "C"
        Case -19218 To -18711: py = "D"
        Case -18710 To -18527: py = "E"
        Case -18526 To -18240: py = "F"
        Case -18239 To -17923: py = "G"
        Case -17922 To -17418: py = "H"
        Case -17417 To -16475: py = "J"
        Case -16474 To -16213: py = "K"
        Case -16212 To -15641: py = "L"
        Case -15640 To -15166: py = "M"
        Case -15165 To -14923: py = "N"
        Case -14922 To -14915: py = "O"
        Case -14914 To -14631: py = "P"
        Case -14630 To -14150: py = "Q"
        Case -14149 To -14091: py = "R"
        Case -14090 To -13319: py = "S"
        Case -13318 To -12839: py = "T"
        Case -12838 To -12557: py = "W"
        Case -12556 To -11848: py = "X"
        Case -11847 To -11056: py = "Y"
        Case -11055 To -10247: py = "Z"
        Case Else: py = mystr
    End Select
End Function
Function HZP(strn As String)
    Dim i As Integer
    For i = 1 To Len(strn)
        HZP = HZP & py(Mid(strn, i, 1))
    Next i
End Function

 

posted @ 2015-12-22 10:10  burningsky  阅读(1635)  评论(0)    收藏  举报