加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

软件实施人员常用的EXCEL生成拼音助记码

(2014-03-25 17:48:03)
标签:

it

分类: 实施问题

 

使用方法:  

1、 打开要生成的EXCEL文件,选择工具--宏---Visual Basic编辑器(快捷键:alt+f11)

 http://s12/mw690/002dMbnFgy6HArZjRmXbb&690

2、 选择:插入--模块--把下方的代码粘贴到里面,保存
http://s16/mw690/002dMbnFgy6HAs3CBZB7f&690

3、 

 

代码部分:
  Function PinYin(Hz As String)
  Dim PinMa As String
  Dim MyPinMa As Variant
  Dim Temp As Integer, i As Integer, j As Integer
  PinMa = "a,20319,"
  PinMa = PinMa & "b,20283,"
  PinMa = PinMa & "c,19775,"
  PinMa = PinMa & "d,19218,"
  PinMa = PinMa & "e,18710,"
  PinMa = PinMa & "f,18526,"
  PinMa = PinMa & "g,18239,"
  PinMa = PinMa & "h,17922,"
  PinMa = PinMa & "j,17417,"
  PinMa = PinMa & "k,16474,"
  PinMa = PinMa & "l,16212,"
  PinMa = PinMa & "m,15640,"
  PinMa = PinMa & "n,15165,"
  PinMa = PinMa & "o,14922,"
  PinMa = PinMa & "p,14914,"
  PinMa = PinMa & "q,14630,"
  PinMa = PinMa & "r,14149,"
  PinMa = PinMa & "s,14090,"
  PinMa = PinMa & "t,13318,"
  PinMa = PinMa & "w,12838,"
  PinMa = PinMa & "x,12556,"
  PinMa = PinMa & "y,11847,"
  PinMa = PinMa & "z,11055,"
  MyPinMa = Split(PinMa, ",")
  For i = 1 To Len(Hz)
  Temp = Asc(Mid(Hz, i, 1))
      If Temp < 0 Then
        Temp = Abs(Temp)
        For j = 45 To 1 Step -2
            If Temp <= Val(MyPinMa(j)) Then
                PinYin = PinYin & MyPinMa(j - 1)
                Exit For
            End If
        Next
      Else
         ' 保留非汉字字符
      PinYin = PinYin & Mid(Hz, i, 1)
      End If
  Next
  PinYin = Trim(PinYin)
End Function 

4、 保存后,回到EXCEL内容编辑界面   

5、 在需要生成助记码的地方。输入公式  =pinyin(相应的汉字单元格)

 

如果行数多的话,先填充好B列,再拷入A列

之后也可以通过替换功能去掉B列空格

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有