在excel中实现汉字转换拼音首字母大写

在excel 2003和2007中已经验证成功。代码为网上收集,原作者已不可考。

Function getpychar(char) tmp = 65536 + Asc(char) If (tmp >= 45217 And tmp <= 45252) Then getpychar = "A" ElseIf (tmp >= 45253 And tmp <= 45760) Then getpychar = "B" ElseIf (tmp >= 45761 And tmp <= 46317) Then getpychar = "C" ElseIf (tmp >= 46318 And tmp <= 46825) Then getpychar = "D" ElseIf (tmp >= 46826 And tmp <= 47009) Then getpychar = "E" ElseIf (tmp >= 47010 And tmp <= 47296) Then getpychar = "F" ElseIf (tmp >= 47297 And tmp <= 47613) Then getpychar = "G" ElseIf (tmp >= 47614 And tmp <= 48118) Then getpychar = "H" ElseIf (tmp >= 48119 And tmp <= 49061) Then getpychar = "J" ElseIf (tmp >= 49062 And tmp <= 49323) Then getpychar = "K" ElseIf (tmp >= 49324 And tmp <= 49895) Then getpychar = "L" ElseIf (tmp >= 49896 And tmp <= 50370) Then getpychar = "M" ElseIf (tmp >= 50371 And tmp <= 50613) Then getpychar = "N" ElseIf (tmp >= 50614 And tmp <= 50621) Then getpychar = "O" ElseIf (tmp >= 50622 And tmp <= 50905) Then getpychar = "P" ElseIf (tmp >= 50906 And tmp <= 51386) Then getpychar = "Q" ElseIf (tmp >= 51387 And tmp <= 51445) Then getpychar = "R" ElseIf (tmp >= 51446 And tmp <= 52217) Then getpychar = "S" ElseIf (tmp >= 52218 And tmp <= 52697) Then getpychar = "T" ElseIf (tmp >= 52698 And tmp <= 52979) Then getpychar = "W" ElseIf (tmp >= 52980 And tmp <= 53640) Then getpychar = "X" ElseIf (tmp >= 53689 And tmp <= 54480) Then getpychar = "Y" ElseIf (tmp >= 54481 And tmp <= 62289) Then getpychar = "Z" Else '如果不是中文,则不处理 getpychar = char End If End Function Function getpy(str) For i = 1 To Len(str) getpy = getpy & getpychar(Mid(str, i, 1)) Next i End Function

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值