Public Function GetPY(ByVal a1 As String) As String
If Asc(a1) < 0 Then
Select Case Asc(Left(a1, 1))
Case Is < Asc("啊")
Return ""
Case Asc("啊") To Asc("芭") - 1
Return "A"
Case Asc("芭") To Asc("擦") - 1
Return "B"
Case Asc("擦") To Asc("搭") - 1
Return "C"
Case Asc("搭") To Asc("蛾") - 1
Return "D"
Case Asc("蛾") To Asc("发") - 1
Return "E"
Case Asc("发") To Asc("噶") - 1
Return "F"
Case Asc("噶") To Asc("哈") - 1
Return "G"
Case Asc("哈") To Asc("击") - 1
Return "H"
Case Asc("击") To Asc("喀") - 1
Return "J"
Case Asc("喀") To Asc("垃") - 1
Return "K"
Case Asc("垃") To Asc("妈") - 1
Return "L"
Case Asc("妈") To Asc("拿") - 1
Return "M"
Case Asc("拿") To Asc("哦") - 1
Return "N"
Case Asc("哦") To Asc("啪") - 1
Return "O"
Case Asc("啪") To Asc("期") - 1
Return "P"
Case Asc("期") To Asc("然") - 1
Return "Q"
Case Asc("然") To Asc("撒") - 1
Return "R"
Case Asc("撒") To Asc("塌") - 1
Return "S"
Case Asc("塌") To Asc("挖") - 1
Return "T"
Case Asc("挖") To Asc("昔") - 1
Return "W"
Case Asc("昔") To Asc("压") - 1
Return "X"
Case Asc("压") To Asc("匝") - 1
Return "Y"
Case Is >= Asc("匝")
Return "Z"
End Select
Else
If UCase(a1) <= "Z" And UCase(a1) >= "A" Then
Return UCase(Left(a1, 1))
Else
Return ""
End If
End If
End Function
If Asc(a1) < 0 Then
Select Case Asc(Left(a1, 1))
Case Is < Asc("啊")
Return ""
Case Asc("啊") To Asc("芭") - 1
Return "A"
Case Asc("芭") To Asc("擦") - 1
Return "B"
Case Asc("擦") To Asc("搭") - 1
Return "C"
Case Asc("搭") To Asc("蛾") - 1
Return "D"
Case Asc("蛾") To Asc("发") - 1
Return "E"
Case Asc("发") To Asc("噶") - 1
Return "F"
Case Asc("噶") To Asc("哈") - 1
Return "G"
Case Asc("哈") To Asc("击") - 1
Return "H"
Case Asc("击") To Asc("喀") - 1
Return "J"
Case Asc("喀") To Asc("垃") - 1
Return "K"
Case Asc("垃") To Asc("妈") - 1
Return "L"
Case Asc("妈") To Asc("拿") - 1
Return "M"
Case Asc("拿") To Asc("哦") - 1
Return "N"
Case Asc("哦") To Asc("啪") - 1
Return "O"
Case Asc("啪") To Asc("期") - 1
Return "P"
Case Asc("期") To Asc("然") - 1
Return "Q"
Case Asc("然") To Asc("撒") - 1
Return "R"
Case Asc("撒") To Asc("塌") - 1
Return "S"
Case Asc("塌") To Asc("挖") - 1
Return "T"
Case Asc("挖") To Asc("昔") - 1
Return "W"
Case Asc("昔") To Asc("压") - 1
Return "X"
Case Asc("压") To Asc("匝") - 1
Return "Y"
Case Is >= Asc("匝")
Return "Z"
End Select
Else
If UCase(a1) <= "Z" And UCase(a1) >= "A" Then
Return UCase(Left(a1, 1))
Else
Return ""
End If
End If
End Function