我以为很简单,直到我看到添加拼音是要手写拼音之后,
度娘,我来啦~
说白了就是用宏写一个函数出来,这个函数可以把汉字变成拼音,然后再写一个可以提取首字母的函数,之后完美,回家睡觉就好了。
我有一个表格,给他画个美美的妆。完美。
转化拼音
1.打开这个链接,复制里面的代码。
2.看图
3.插入-模块-粘贴-保存,这个函数叫做=getpy()
4.保存就完事儿了,这个是因为表格是xlsx格式的不支持宏,另存为宏文件可解。
5.测试,靠谱儿!当然还是存在小bug的,但是不妨碍哈,手动改一下就行了(主要是不知道怎么改,看代码没啥问题,就这样吧,嘻嘻)
提取首字母
1.提取拼音完了之后,同理提取首字母。不想搞懂原理可以直接跳到第5步。
2.点击链接,获取提取首字母的代码。
3.同理,开发工具,插入模块,粘贴保存。这里避免冲突,需要对代码进行修改。
4.这个代码新建的依旧是getpy函数但是提取的和之前的getpy不一样,所以避免冲突,我们给他改个名字,叫做getsz,即get首字母。
5.贴出代码
Functionpinyin(pAsString)AsString
i=Asc(p)
SelectCasei
Case-20319To-20284:pinyin="A"
Case-20283To-19776:pinyin="B"
Case-19775To-19219:pinyin="C"
Case-19218To-18711:pinyin="D"
Case-18710To-18527:pinyin="E"
Case-18526To-18240:pinyin="F"
Case-18239To-17923:pinyin="G"
Case-17922To-17418:pinyin="H"
Case-17417To-16475:pinyin="J"
Case-16474To-16213:pinyin="K"
Case-16212To-15641:pinyin="L"
Case-15640To-15166:pinyin="M"
Case-15165To-14923:pinyin="N"
Case-14922To-14915:pinyin="O"
Case-14914To-14631:pinyin="P"
Case-14630To-14150:pinyin="Q"
Case-14149To-14091:pinyin="R"
Case-14090To-13319:pinyin="S"
Case-13318To-12839:pinyin="T"
Case-12838To-12557:pinyin="W"
Case-12556To-11848:pinyin="X"
Case-11847To-11056:pinyin="Y"
Case-11055To-2050:pinyin="Z"
CaseElse:pinyin=p
EndSelect
EndFunction
Functiongetsz(str)
Fori=1ToLen(str)
getsz=getsz&pinyin(Mid(str,i,1))
Nexti
6.保存,测试,靠谱儿!
7.上面提取的是大写首字母,小写怎么整,没有具体步骤,观察代码,Case-14630To-14150:pinyin="Q"。我把他的Q改成小写的q试试呢,修改,重复添加,测试,靠谱儿!
8.小写代码
Case-20319To-20284:pinyin="a"
Case-20283To-19776:pinyin="b"
Case-19775To-19219:pinyin="c"
Case-19218To-18711:pinyin="d"
Case-18710To-18527:pinyin="e"
Case-18526To-18240:pinyin="f"
Case-18239To-17923:pinyin="g"
Case-17922To-17418:pinyin="h"
Case-17417To-16475:pinyin="j"
Case-16474To-16213:pinyin="k"
Case-16212To-15641:pinyin="l"
Case-15640To-15166:pinyin="m"
Case-15165To-14923:pinyin="n"
Case-14922To-14915:pinyin="o"
Case-14914To-14631:pinyin="p"
Case-14630To-14150:pinyin="q"
Case-14149To-14091:pinyin="r"
Case-14090To-13319:pinyin="s"
Case-13318To-12839:pinyin="t"
Case-12838To-12557:pinyin="w"
Case-12556To-11848:pinyin="x"
Case-11847To-11056:pinyin="y"
Case-11055To-2050:pinyin="z"
Functiongetxx(str)
getxx=getxx&pinyin(Mid(str,i,1))
写在最后的话,这是使用宏自定义函数的办法提取,至于excel是否有更便捷的办法,还需要不断的学习探索,毕竟学无止境。