汉字取拼音首字母程序vba

合集下载

EXCEL-vba中获取汉子拼音首字母

EXCEL-vba中获取汉子拼音首字母

PINYIN BJSXBZZTCDTWZXGMTDKFXM XBJYWCSDTDFKZLXM XBJYWCEDTDFKZLXM XBJYWCSDTDFKZLXM(Y)BJSTBZSTGCZSPXGMTDKFXM JSZXTCWDBJJHZSTDKKXM BJSSJZSJCDPSXGMTDKFXM BJSSLXZYLCSJPPXGMTDKFXM BJSDYZXFCDZBXGMTDKF NYXBJPZXXWCTDZLXM DFXGDXYXCBJLLZTDKFXM BJSDHXJGCGJYKDLBXGMTDKFXM ZCQBJZGXZCHCDKF BJSQXXSKCHCPXGMTDKFXM XBJYYZCTDFKXM(E)XBJYYZCTDFKXM(S)BJSXBZZTCSJBHXGMTDKFXM XXXGCZDSC,XHC,QJC,BJLC,HCD BJSHZJZXCCMZSXGMTDKFXM BJSDYZGFCQGPXGMTDKF BJSTBZXWCHNBYKXGMTDKFXM BJSSLXZYFCZJYDXGMTDKFXM BJSLSZLSPCMWTXGMTDKFXM BJSLSZLHCMYPXGMTDKFXM BJSDHXQGCMSKXGMTDKFXM BJSASXXKCHSPXGMTDKF BJSSLXZYLCGJPPXGMTDKFXM BJSSLXZYLCDJMTXGMTDKFXM BJSDYZHTCYPDSXGMTDKF BJSQXXXRCJDSXGMTDKFXM BJSASXTZCZJPXGMTDKF BJSDYZHTCXSBXGMTDKF BJSQXXFLCHYSDXGMTDKFXM BJSSJZSJCSNDXGMTDKFXM BJSBZZZZCDSCXGMTDKFXM HYSBSXDZCBBJQTTDKFXM WNSLWQNSXNMCBJZTDKFXM BJSXBZHWCGJWXGMTDKFXM BJSXBZHWCHGGXGMTDKFXM BJSXBZSTCSJWXGMTDKFXM BJSXBZSTCBBSXGMTDKFXM BJSXBZSTCLJWXGMTDKFXM BJSXBZZTCMFXGMTDKFXM BJSQXXFLCFJDXGMTDKFXM BJSDYZHTCCDXGMTDKFBJSDYZYQCHLSXGMTDKF BJSCCBZHSCXDKXGMTDKFXM BJSCCBZZGCGJDDGMTDKFXM BJSTBZXWCPZSXGMTDKFXM BJSTBZSTGCZJDPZXGMTDKFXM XBJYWCLDTDFKZLXM(E)XBJYQCWDTDFKZLXM XBJYBCYDTDFKZLXM XBJYNKSTDFKZLXM XBJYBCYDTDFKZLXMY XBJYNKSTDFKZLXMY XBJYLCLDTDFKZLXM XBJYWCLDTDFKZLXM BJSHGTZDBCYZZXGMTDKFXM BJSHGTZDBCHLZXGMTDKFXM BJSHGTZXHCYJFXGMTDKFXM BJSHGTZXHCBFSXGMTDKFXM BJSXBZSTCXLSXGMTDKFXM BJSQXXFLCWJDPXGMTDKFXM BJSXBZSTCDMPXGMTDKFXM BJSSLXZSLCMGDLBXGMTDKFXM GDXXHZBJMCTDFK(Y)YJZZXDBXBJCTDKFXM BJSASXZZCJZZHJDWZXGMTDKF BJSSLXZYFCJJPZXGMTDKFXM XBJYQCSDTDFKZLXM BJSQXXXRCWLSXGMTDKFXM BJSDYZXFCWPFPZXGMTDKF BJSDYZXFCWJFPZXGMTDKF BJSQXXXRCWLSSXGMTDKFXM BJSDYZXFCSJFXGMTDKF BJSSLXZLFCDTLZXGMTDKFXM BJSDYZXFCCKTXGMTDKF BJSDYZXFCGJFXGMTDKF HYXBJZQGHPZDQTQFK BJSTBQZZXCGBXGMTDKFXM BJSDHXJGCDHSXGMTDKFXM BJSDHXLLCDDEXGMTDKFXM BJSLSZXZCYJPXGMTDKFXM BJSLSZXZCLJDDXGMTDKFXM BJSLSZXZCZZLXGMTDKFXM BJSLSZSNTCWJBHXGMTDKFXM BJSLSZLSPCMCBHXGMTDKFXM BJSLSZLHCSLPXGMTDKFXM BJSDHXQGCMBPXGMTDKFXM BJSCHZMLCLFYXGMTDKFXM BJSGLZGLCDPPXGMTDKFXMBJSCHZMLCSYZYSBXGMTDKFXM BJSCHZSHCSZCSXGMTDKFXM BJSCHZTFCBZJTBBXGMTDKFXM BJSHZJZPJZCSCYKXGMTDKFXM BJSHZJZXCCGJLXGMTDKFXM BJSHZJZXCCLTWXGMTDKFXM BJSHZJZHYCYJWXGMTDKFXM BJSBZZYKCBRCXGMTDKFXM BJSBZZZCCHJFXGMTDKFXM BJSBZZZCCYJXGMTDKFXM BJSBZZDXCMZSXGMTDKFXM BJPZYQCTDZLXM BJSXBZHWCMBAXGMTDKFXM XBJYLCSDTDFKZLXM BJZWACJCZFKZLXM BJSQXXSKCXHPXGMTDKFXM BJSQXXSKCWPFXGMTDKFXM BJSQXXSKCZJFXGMTDKFXM BJSQXXSKCGDYKXGMTDKFXM BJSDPZSBCSBDLCXGMTDKFXM BJSDPZLHCDWZXGMTDKFXM BJSDPZGMCDPZXGMTDKFXM BJSDPZZXCDLCXGMTDKFXM BJSDPZSBCMCPXGMTDKFXM BJSHGTZDPZCDHZPDXGMTDKFXM BJSHGTZDPZCSPEDXGMTDKFXM BJSHGTZDBCZCBHXGMTDKFXM BJSHGTZANZCDMTXGMTDKFXM WAXBJZJXC、SKXMGCTDKFXM XBJYWCSDTDFKZLXM(E)XBJYWCSDTDFKZLXM(S)XBJYWCWDTDFKZLXM XBJYWCBDTDFKZLXM BJSTBQZDZSCSZYXGMTDKFXM BJSTBQZWYSCYBBXGMTDKFXM BJSTBQZWYSCDPLJDDXGMTDKFXM BJSTBQZWYSCDPMJDDXGMTDKFXM BJSQXXZTCMZGYXGMTDKFXM BJSQXXFLCTLSYKXGMTDKFXM BJSQXXFLCHSDXGMTDKFXM BJSSJZDZCNCXGMTDKFXM BJSDYZXFCLJWXGMTDKF BJSTBZXJCLJDTXGMTDKFXM XBJYYZCTDFKXM(Y)XBJYWCLDTDFKZLXM(Y)LNSDDSDGSBJZ、MJDZTDZLXM XBJYQCEDTDFKZLXMBJSASXYKTCZJBHXGMTDKF BJSDYZGFCMMSXGMTDKF BJSSJZSJCMJDXGMTDKFXM BJSDYZGFCXXSXGMTDKF BJSDYZGFCDJFXGMTDKF BJSDYZGFCZJFXGMTDKF BJSSLXZSLCMCBXGMTDKFXM BJSSLXZSLCAZYXGMTDKFXM BJSSJZSJCHBTXGMTDKFXM BJSDYZGFCDSXGMTDKF GDXXHZBJMCTDFK(E)BJXMGZTDZLXM CHXBJXXFCCTDFKZLXM BJSLSZSNTCLSSXGMTDKFXM BJSDHXGDHCSGJXGMTDKFXM XXXBLTZBJBCHCDKF2007.159 BJSDHXKLCLJDLBXGMTDKFXM BJSDHXLLCDLBXGMTDKFXM NBJJKFQBHZXBJIIQTDKFXM BJSQXXSKCSDWXGMTDKFXM BJSASXMLCLJDSXGMTDKF BJSDYZHTCHSWXGMTDKF BJSSLXZLFCYJFXGMTDKFXM BJSDYZHTCBJPZXGMTDKF BJSQXXQLGCDPZXGMTDKFXM BJSSLXZLFCSGZXGMTDKFXM BJSDYZHTCPZXGMTDKF BJSASXMWCXTLXGMTDKF BJSQXXQLGCSLPXGMTDKFXM BJSSLXZCYCSLXGMTDKFXM BJSQXXQLGCGDSXGMTDKFXM BJSDYZMWCMASXGMTDKF BJSLSZXZCDHPZXGMTDKFXM AHSLQXFXJXBJLCXYZTDFKXM YCSBJZHPCGYLBCGDXM(Y2010-1)BJSHGTZANZCSGXGMTDKFXM BJSHGTZDPZCWJWZXGMTDKFXM BJSXBZHWCMJXGMTDKFXM BJSXBZZTCMYSXGMTDKFXM BJSXBZHWCSZYKXGMTDKFXM BJSXBZHWCZJFXGMTDKFXM BJSXBZZTCDPXGMTDKFXM BJSXBZZTCWZTXGMTDKFXM LZXLJZ、BJXTDCBGDXM BJSDYZYQCSLPPXGMTDKF ZYSMLXSBJBNTZLXMYCZCJYCJBJBNTZLXM LCXHBZBJCTDFKXM BJXQSXMWCTDZLXMJBXX_XMMC毕节市小坝镇中屯村大塘湾子小规模土地开发项目襄北监狱五场三队土地复垦整理项目襄北监狱五场二队土地复垦整理项目襄北监狱五场四队土地复垦整理项目(一)毕节市田坝镇沙炭沟村钟山坡小规模土地开发项目界首镇兴田村委第八经济合作社土地开垦项目毕节市生机镇生机村大坡上小规模土地开发项目毕节市撒拉溪镇杨柳村孙家皮坡小规模土地开发项目毕节市大银镇新丰村打荞坝小规模土地开发宁远县柏家坪镇小新屋村土地整理项目大方县高店乡营兴村保鸡落梁子土地开发项目毕节市大河乡鸡姑村高家丫口大老包小规模土地开发项目周村区北郊镇固玄庄村荒草地开发毕节市千溪乡沙垮村花厂坪小规模土地开发项目襄北监狱养殖场土地复垦项目(二)襄北监狱养殖场土地复垦项目(三)毕节市小坝镇中屯村苏家背后小规模土地开发项目西乡县高川镇大树村,薛河村,前进村,八角楼村,荒草地开发2005.31毕节市海子街镇西冲村梅子山小规模土地开发项目毕节市大银镇高峰村青杠坪小规模土地开发毕节市田坝镇兴旺村黄纳坝丫口小规模土地开发项目毕节市撒拉溪镇永丰村朱家岩洞小规模土地开发项目毕节市梨树镇梨树坪村麻窝头小规模土地开发项目毕节市梨树镇联合村庙右坡小规模土地开发项目毕节市大河乡青杠村木梳块小规模土地开发项目毕节市阿市乡雄垮村火烧坡小规模土地开发毕节市撒拉溪镇杨柳村顾家皮坡小规模土地开发项目毕节市撒拉溪镇杨柳村邓家麻塘小规模土地开发项目毕节市大银镇黄塘村窑坪大山小规模土地开发毕节市千溪乡兴荣村叫点山小规模土地开发项目毕节市阿市乡头庄村曾家坡小规模土地开发毕节市大银镇黄塘村谢山包小规模土地开发毕节市千溪乡法朗村火焰山顶小规模土地开发项目毕节市生机镇生机村杀牛洞小规模土地开发项目毕节市八寨镇钟寨村大石场小规模土地开发项目华阴市北社乡东栅村坝北九区滩涂地开发项目渭南市临渭区南师乡南马村卞家组土地开发项目毕节市小坝镇河尾村郭家湾小规模土地开发项目毕节市小坝镇河尾村河拐拐小规模土地开发项目毕节市小坝镇水塘村沈家湾小规模土地开发项目毕节市小坝镇水塘村包包上小规模土地开发项目毕节市小坝镇水塘村刘家湾小规模土地开发项目毕节市小坝镇中屯村墓坟小规模土地开发项目毕节市千溪乡法朗村樊家地小规模土地开发项目毕节市大银镇黄塘村川洞小规模土地开发毕节市大银镇羊桥村猴老山小规模土地开发毕节市长春堡镇滑石村硝洞口小规模土地开发项目毕节市长春堡镇垭关村官家大地规模土地开发项目毕节市田坝镇兴旺村坪子上小规模土地开发项目毕节市田坝镇沙炭沟村朱家大坪子小规模土地开发项目襄北监狱五场六队土地复垦整理项目(二)襄北监狱七场五队土地复垦整理项目襄北监狱八场一队土地复垦整理项目襄北监狱农科所土地复垦整理项目襄北监狱八场一队土地复垦整理项目一襄北监狱农科所土地复垦整理项目一襄北监狱六场六队土地复垦整理项目襄北监狱五场六队土地复垦整理项目毕节市何官屯镇大坝村岩嘴嘴小规模土地开发项目毕节市何官屯镇大坝村横梁子小规模土地开发项目毕节市何官屯镇新华村余家坟小规模土地开发项目毕节市何官屯镇新华村宝峰寺小规模土地开发项目毕节市小坝镇水塘村小岭上小规模土地开发项目毕节市千溪乡法郎村王家大坡小规模土地开发项目毕节市小坝镇水塘村洞门坡小规模土地开发项目毕节市撒拉溪镇沙乐村毛狗洞老包小规模土地开发项目广德县新杭镇百家庙村土地复垦(一)印江自治县刀坝乡白金村土地开发项目毕节市阿市乡中寨村旧寨组何家洞湾子小规模土地开发毕节市撒拉溪镇永丰村金家坪子小规模土地开发项目襄北监狱七场三队土地复垦整理项目毕节市千溪乡兴荣村望朗石小规模土地开发项目毕节市大银镇新丰村王婆坟坪子小规模土地开发毕节市大银镇新丰村汪家坟坪子小规模土地开发毕节市千溪乡兴荣村望朗石山小规模土地开发项目毕节市大银镇新丰村申家坟小规模土地开发毕节市撒拉溪镇龙凤村大塘梁子小规模土地开发项目毕节市大银镇新丰村刺枯塘小规模土地开发毕节市大银镇新丰村关家坟小规模土地开发怀远县包集镇清沟河潘圩段弃土区复垦毕节市田坝桥镇螃蟹村沟边小规模土地开发项目毕节市大河乡鸡姑村大火山小规模土地开发项目毕节市大河乡拉罗村洞洞儿小规模土地开发项目毕节市梨树镇新寨村余家坡小规模土地开发项目毕节市梨树镇新寨村罗家大地小规模土地开发项目毕节市梨树镇新寨村桦槁林小规模土地开发项目毕节市梨树镇水牛屯村武家背后小规模土地开发项目毕节市梨树镇梨树坪村煤场背后小规模土地开发项目毕节市梨树镇联合村杉林坡小规模土地开发项目毕节市大河乡青杠村马豹坪小规模土地开发项目毕节市岔河镇木来村漏风丫小规模土地开发项目毕节市戈乐镇戈乐村大偏坡小规模土地开发项目毕节市岔河镇木来村十一组圆山包小规模土地开发项目毕节市岔河镇双华村三组茶山小规模土地开发项目毕节市岔河镇塘丰村八组积塘包包小规模土地开发项目毕节市海子街镇彭家寨村三叉丫口小规模土地开发项目毕节市海子街镇西冲村公鸡岭小规模土地开发项目毕节市海子街镇西冲村烂田湾小规模土地开发项目毕节市海子街镇红堰村扬家湾小规模土地开发项目毕节市八寨镇岩口村帮人场小规模土地开发项目毕节市八寨镇中厂村韩家坟小规模土地开发项目毕节市八寨镇中厂村营脚小规模土地开发项目毕节市八寨镇大兴村苗子山小规模土地开发项目北集坡镇阳泉村土地整理项目毕节市小坝镇河尾村毛稗凹小规模土地开发项目襄北监狱六场四队土地复垦整理项目北极镇旺安村旧村庄复垦整理项目毕节市千溪乡沙垮村小黄坡小规模土地开发项目毕节市千溪乡沙垮村王婆坟小规模土地开发项目毕节市千溪乡沙垮村张家坟小规模土地开发项目毕节市千溪乡沙垮村古洞丫口小规模土地开发项目毕节市对坡镇石板村石板大老厂小规模土地开发项目毕节市对坡镇乐海村大窝子小规模土地开发项目毕节市对坡镇嘎木村大坪子小规模土地开发项目毕节市对坡镇中心村大老厂小规模土地开发项目毕节市对坡镇石板村毛草坪小规模土地开发项目毕节市何官屯镇大坪子村大海子平地小规模土地开发项目毕节市何官屯镇大坪子村山瓢儿地小规模土地开发项目毕节市何官屯镇大坝村猪场背后小规模土地开发项目毕节市何官屯镇阿哪寨村大麻塘小规模土地开发项目万安县百加镇九贤村、韶口乡梅岗村土地开发项目襄北监狱五场四队土地复垦整理项目(二)襄北监狱五场四队土地复垦整理项目(三)襄北监狱五场五队土地复垦整理项目襄北监狱五场八队土地复垦整理项目毕节市田坝桥镇店子上村狮子岩小规模土地开发项目毕节市田坝桥镇弯腰树村圆包包小规模土地开发项目毕节市田坝桥镇弯腰树村大坡李家大地小规模土地开发项目毕节市田坝桥镇弯腰树村大坡糜家大地小规模土地开发项目毕节市千溪乡中屯村苗子滚岩小规模土地开发项目毕节市千溪乡法朗村糖梨树丫口小规模土地开发项目毕节市千溪乡法朗村黄沙地小规模土地开发项目毕节市生机镇大寨村牛场小规模土地开发项目毕节市大银镇新丰村罗家湾小规模土地开发毕节市田坝镇先进村罗家大塘小规模土地开发项目襄北监狱养殖场土地复垦项目(一)襄北监狱五场六队土地复垦整理项目(一)辽宁省丹东市东港市北井子、马家店镇土地整理项目襄北监狱七场二队土地复垦整理项目保靖县大妥乡甘溪村土地复垦项目毕节市阿市乡丫口田村郑家背后小规模土地开发毕节市大银镇高峰村冒冒山小规模土地开发毕节市生机镇生机村梅家地小规模土地开发项目毕节市大银镇高峰村星秀石小规模土地开发毕节市大银镇高峰村丁家坟小规模土地开发毕节市大银镇高峰村朱家坟小规模土地开发毕节市撒拉溪镇双龙村茅草坝小规模土地开发项目毕节市撒拉溪镇双龙村凹子岩小规模土地开发项目毕节市生机镇生机村河坝头小规模土地开发项目毕节市大银镇高峰村大山小规模土地开发广德县新杭镇百家庙村土地复垦(二)保靖县毛沟镇土地整理项目淳化县卜家乡西奉村村土地复垦整理项目毕节市梨树镇水牛屯村螺丝山小规模土地开发项目毕节市大河乡官代河村山根脚小规模土地开发项目西乡县白龙塘镇白家坝村荒草地开发2007.159毕节市大河乡柯罗村刘家大老包小规模土地开发项目毕节市大河乡拉罗村大老包小规模土地开发项目南堡经济开发区滨海镇西北街II区土地开发项目毕节市千溪乡沙垮村沙地弯小规模土地开发项目毕节市阿市乡木拉村刘家大山小规模土地开发毕节市大银镇黄塘村火石湾小规模土地开发毕节市撒拉溪镇龙凤村杨家坟小规模土地开发项目毕节市大银镇黄塘村百家坪子小规模土地开发毕节市千溪乡千朗沟村大坪子小规模土地开发项目毕节市撒拉溪镇龙凤村三锅庄小规模土地开发项目毕节市大银镇黄塘村坪子小规模土地开发毕节市阿市乡麻窝村谢土岭小规模土地开发毕节市千溪乡千朗沟村松林坡小规模土地开发项目毕节市撒拉溪镇朝营村松林小规模土地开发项目毕节市千溪乡千朗沟村鬼打山小规模土地开发项目毕节市大银镇木瓦村马鞍山小规模土地开发毕节市梨树镇新寨村大汗坪子小规模土地开发项目安徽省临泉县范兴集乡半截楼村小于庄土地复垦项目阳春市八甲镇黄坡村果园岭补充耕地项目(阳2010-1)毕节市何官屯镇阿哪寨村深沟小规模土地开发项目毕节市何官屯镇大坪子村文家湾子小规模土地开发项目毕节市小坝镇河尾村庙脚小规模土地开发项目毕节市小坝镇中屯村蚂蚁山小规模土地开发项目毕节市小坝镇河尾村狮子丫口小规模土地开发项目毕节市小坝镇河尾村赵家坟小规模土地开发项目毕节市小坝镇中屯村大坡小规模土地开发项目毕节市小坝镇中屯村湾子头小规模土地开发项目临猗县临晋镇、北景乡土地储备耕地项目毕节市大银镇羊桥村杉林皮坡小规模土地开发张掖市民乐县三堡基本农田整理项目东阳市江北街道原冰塘村造田造地项目禹村镇程家峪村基本基本农田整理项目洛川县槐柏镇贝郊村土地复垦项目保靖县清水乡马王村土地整理项目。

分别提取出汉字、字母、数字的正则表达式VBA

分别提取出汉字、字母、数字的正则表达式VBA

需要建立宏‎,把下面的‎内容完全复‎制粘贴,覆‎盖原有的宏‎就可以,然‎后点运行。

‎有需要的同‎事可以保存‎下来。

‎一、去掉字‎母、数字,‎符号等,在‎另一行提取‎出汉字‎S ub 查‎找和替换(‎)Dim‎regE‎x As ‎O bjec‎tDim‎i As‎Doub‎l eS‎e t re‎g Ex =‎Crea‎t eObj‎e ct("‎V BSCR‎I PT.R‎E GEXP‎")re‎g Ex.P‎a tter‎n = "‎[^\u4‎e00-\‎u9fa5‎]"re‎g Ex.I‎g nore‎C ase ‎= Tru‎ereg‎E x.Gl‎o bal ‎= Tru‎eFor‎i = ‎1 To ‎A ctiv‎e Shee‎e‎d Rang‎e.Row‎s.Cou‎n t‎‎ Cel‎l s(i,‎2).V‎a lue ‎= reg‎E x.Re‎p lace‎(Cell‎s(i, ‎1), "‎")Ne‎x t i‎S et r‎e gEx ‎= Not‎h ing‎E nd S‎u b二‎、去掉汉字‎,字母,符‎号等,在另‎一行提取出‎数字Su‎b查找和‎替换()‎D im r‎e gEx ‎A s Ob‎j ect‎D im i‎As I‎n tege‎rSe‎t reg‎E x = ‎C reat‎e Obje‎c t("V‎B SCRI‎P T.RE‎G EXP"‎)reg‎E x.Pa‎t tern‎= "\‎D+"r‎e gEx.‎I gnor‎e Case‎= Tr‎u ere‎g Ex.G‎l obal‎= Tr‎u eFo‎r i =‎1 To‎Acti‎v eShe‎e ‎e dRan‎g e.Ro‎w s.Co‎u nt‎‎ Ce‎l ls(i‎, 2).‎V alue‎= re‎g Ex.R‎e plac‎e(Cel‎l s(i,‎1), ‎"")N‎e xt i‎Set ‎r egEx‎= No‎t hing‎End ‎S ub‎三、去掉汉‎字,数字,‎符号等,在‎另一行提取‎出字母‎S ub 查‎找和替换(‎)Dim‎regE‎x As ‎O bjec‎tDim‎i As‎Doub‎l eS‎e t re‎g Ex =‎Crea‎t eObj‎e ct("‎V BSCR‎I PT.R‎E GEXP‎")re‎g Ex.P‎a tter‎n = "‎[^a-z‎A-Z]"‎regE‎x.Ign‎o reCa‎s e = ‎T rue‎r egEx‎.Glob‎a l = ‎T rue‎F or i‎= 1 ‎T o Ac‎t iveS‎h eet.‎U sedR‎a nge.‎R ows.‎C ount‎‎‎C ells‎(i, 2‎).Val‎u e = ‎r egEx‎.Repl‎a ce(C‎e lls(‎i, 1)‎, "")‎Next‎iSe‎t reg‎E x = ‎N othi‎n gEn‎d Sub‎‎。

excel:汉字拼音首字母提取

excel:汉字拼音首字母提取

方法一:VBA自定义函数"=hztopy()"下面是一个VBA自定义函数,工具->宏->Visual Basic编辑器->,插入模块,在VBA编辑器里面->插入->模块->贴入下述代码,(按ALT+F11,插入模块,在右面窗口中粘贴下面代码)那么,比如在A3中有"进退两难",则在B3中输入"=hztopy(A3)",则会得到"JTLN"。

不过此法有时候也会出错,比如"皓、鑫、婷、雯、奕"等,就无法提取汉字拼音首字母。

Function hztopy(hzpy As String) As StringDim hzstring As String, pystring As StringDim hzpysum As Integer, hzi As Integer, hzpyhex As Integerhzstring = Trim(hzpy)hzpysum = Len(Trim(hzstring))pystring = ""For hzi = 1 To hzpysumhzpyhex = "&H" + Hex(Asc(Mid(hzstring, hzi, 1)))Select Case hzpyhexCase &HB0A1 To &HB0C4: pystring = pystring + "A"Case &HB0C5 To &HB2C0: pystring = pystring + "B"Case &HB2C1 To &HB4ED: pystring = pystring + "C"Case &HB4EE To &HB6E9: pystring = pystring + "D"Case &HB6EA To &HB7A1: pystring = pystring + "E"Case &HB7A2 To &HB8C0: pystring = pystring + "F"Case &HB8C1 To &HB9FD: pystring = pystring + "G"Case &HB9FE To &HBBF6: pystring = pystring + "H"Case &HBBF7 To &HBFA5: pystring = pystring + "J"Case &HBFA6 To &HC0AB: pystring = pystring + "K"Case &HC0AC To &HC2E7: pystring = pystring + "L"Case &HC2E8 To &HC4C2: pystring = pystring + "M"Case &HC4C3 To &HC5B5: pystring = pystring + "N"Case &HC5B6 To &HC5BD: pystring = pystring + "O"Case &HC5BE To &HC6D9: pystring = pystring + "P"Case &HC6DA To &HC8BA: pystring = pystring + "Q"Case &HC8BB To &HC8F5: pystring = pystring + "R"Case &HC8F6 To &HCBF9: pystring = pystring + "S"Case &HCBFA To &HCDD9: pystring = pystring + "T"Case &HEDC5: pystring = pystring + "T"Case &HCDDA To &HCEF3: pystring = pystring + "W"Case &HCEF4 To &HD1B8: pystring = pystring + "X"Case &HD1B9 To &HD4D0: pystring = pystring + "Y"Case &HD4D1 To &HD7F9: pystring = pystring + "Z"Case Elsepystring = pystring + Mid(hzstring, hzi, 1)End SelectNexthztopy = pystringEnd Function方法二:VBA自定义函数"=getpy()"下面是一个VBA自定义函数,工具->宏->Visual Basic编辑器->,插入模块,在VBA编辑器里面->插入->模块->贴入上述代码,那么。

Excel-VBA自定义函数取姓名的汉语拼音首字母

Excel-VBA自定义函数取姓名的汉语拼音首字母

Excel-VBA自定义函数取姓名的汉语拼音首字母应用场景用函数取汉语拼音的首字母知识要点1:Option Compare语句,设置缺省的字符比较方法,只能在模块级使用,语法Option Compare {Binary | Text | Database} Option Compare Binary ,按排序顺序进行字符串比较A<B<C<a<b<?等,Option Compare text 不区分大小写进行字符串比较A=a2:将所有拼音首字母相同的第一个汉字取出来组成一个字符串,例如拉、洛、梁等,拉=la最靠前,取拉3:将参数中的每个字符与参照字符串中每个比较,统计参照字符串中有多少字符小于参数中的字符,如果有10个,通过chr函数,转换成第9个英文字符J,非汉字保持不变Option Compare Text '比较方式为text'声明函数PY,有一个必选参数,为特引用的单元格或者字符串Function PY(Rng As Range)Application.Volatile '声明为易失性函数Dim i As Integer, k As Integer, Str As StringIf Len(Rng) = 0 Then PY = '': Exit Function '如果引用单元格空白,则返回空文本If Not IsNumeric(Rng) Then '如果不是数值Str = WorksheetFunction.Trim(Rng) '去除空格格后,赋予变量strFor i = 1 To Len(Str) '遍历所有字符If Mid(Str, i, 1) < '啊' Then '如果小于啊,表示不是汉字PY = PY & Mid(Str, i, 1) '保留原字符不变Elsek = 1'将字符串中每个字符与参数中的字符进行比较,统计字符串中大于参数中的字符的个数,得到变量 kDo Until Mid$('八嚓哒妸发旮铪讥讥咔垃妈拿哦妑七然仨他哇哇哇夕丫匝咗', k, 1) > Mid$(Str, i, 1)k = k 1LoopPY = PY & Chr(64 k) '根据K值得到大写的英文字母(chr(65)为第一个字母AEnd IfNextEnd IfEnd Function。

excel_汉字转换成拼音简拼(只取首字母)

excel_汉字转换成拼音简拼(只取首字母)

excel_汉字转换成拼音简拼(只取首字母)名称转换为首字母(VBA自定义函数)1,打开EXCEL2,按ALT+F11,单击插入-插入模块,在右窗口粘贴以下代码,直接关闭窗口3,输入公式=hztopy(A1),填充所有单元格4,选择所有缩写,复制-粘贴特殊值(因为它是自定义函数,只有结果可以显示在当前文件中,而其他计算机显示错误是因为5.使用条件格式检索包含中文字符的单元格:首先单击一个单元格(设置为D5)。

条件格式-新格式规则-使用公式确定要格式化的单元格:在下面的对话框中输入公式= LEMB(D5)> LEN(D5),自己设置格式,确认后退出,然后用单元格的格式刷所有单元格汉字外观的格式设置为6。

选择自定义排序-按“单元格颜色”排序-排序“无单元格颜色”和“底部”-确定7,手动将汉字改写成相应的字母8、检查复音字符注意:上述方法只能在当前文件夹中使用。

如何保存宏以便自定义函数可以在所有文件夹中使用?1.创建新的EXCEL2。

按ALT+F11,单击插入-插入模块,并在右侧窗口中粘贴以下代码。

直接关闭窗口3,另存为-其他格式-文件名更改为宏名,保存类型选择” EXCEL加载项(*,xlam)”,文件将自动保存在c: \ \用户\ \ 111 \ \ appdata \ \ road ing \ \ Microsoft \ \ addins文件夹中4.打开需要工作的EXL,然后单击开始-扩展选项-加载项-转到(G)...-选择上面保存的宏名-确定这样,在这台计算机的所有EXCEL中,可以直接使用自定义公式。

代码(只复制星号的内容)* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *函数Hz topy(hzpy As String)As String Dim hzstring As String,py String As StringDim hzpy sum As Integer,hzi As Integer,hzpyhex As Integer hzstring = Trim(hzpy)hzpy sum = Len(Trim(hzstring))py String = \For hzi = 1 To hzpy sumhzpyhex = \ Select Case hzpyhexCase & HB 案例&HB2C1至&HB4ED: pystring = pystring + \案例&HB4EE至&HB6E9: pystring = pystring + \案例&HB6EA至&HB7A1: pystring = pystring + \案例&HB7A2至&HB8C0: pystring = pystring + \案例&HB8C1至&HB9FD: pystring = pystring + \案例&HB9FE至&HBBF6: pystring = pystring + \案例&HBBF7至&HBFA5: pystring = pystring 案例&HC2E8至&HC4C2: pystring = pystring + \案例&HC4C3至&HC5B5: pystring = pystring + \案例&HC5B6至&HC5BD:pystring = pystring + \案例&HC5BE至&HC6D9: pystring = pystring + \案例&HC6DA至&HC8BA: pystring = pystring + \案例&HC8BB至&HC8F5: pystring = pystring + \案例&HC8F6至&HCBF9: pystring = pystringCase & HCDDA To & HCEF3:py string = py string+\ Case & HCEF4 To & HD1B 8:py string = py string+\ Case & HD1B 9 To & HD4D 0:py string = py string+\ Case & HD4D 1 To & HD7F 9:py string = py string+\ Case Elsepy string = py string+Mid(Hz string,hzi,1)结束选择下一个hztopy = pystring结束。

提取单元格汉字首字母

提取单元格汉字首字母

提取单元格汉字首字母在处理 Excel 表格数据时,有时需要将单元格中的汉字转换为汉字拼音的首字母,以便进行后续的数据分析和处理。

本文将介绍如何使用 Excel 中的函数和工具来提取单元格汉字首字母,并分析其适用范围和注意事项。

一、使用 LEFT 函数提取单个汉字的首字母Excel 中的 LEFT 函数用于从文本字符串的左侧提取指定长度的字符。

结合汉字拼音的特点,可以使用 LEFT 函数提取汉字的首字母。

例如,假设 A1 单元格中为“中国”,则可以使用以下公式提取其首字母:=LEFT(A1,1)这个公式的含义是从单元格 A1 左侧提取 1 个字符,即“中”的首字母,“结果为“Z”。

需要注意的是,该方法只能提取单个汉字的首字母,多个汉字则无法处理。

二、使用 VBA 宏提取多个汉字的首字母如果需要提取多个汉字的首字母,可以使用 Excel 的 VBA 宏来实现。

下面是一段实现该功能的 VBA 代码:Sub ChineseFirstLetter()Dim str As String, result As Stringstr = Selection.ValueFor i = 1 To Len(str)result = result &Left(LCase(Application.WorksheetFunction.Substitute(Application.Transpose(Split(Trim (str(i, 1)), " ")), " ", "")), 1)Next iSelection.Value = UCase(result)End Sub该宏的作用是将选定区域中的汉字转换为首字母,并将结果替换原单元格中的内容。

需要注意的是,该宏需要在 Excel 中启用宏功能,并将其保存为一个新的模块。

三、使用 PinYin 工具包提取多个汉字的首字母使用 VBA 宏虽然能够实现多个汉字首字母的提取,但对于不熟悉 VBA 编程的用户来说,会存在一定的难度。

excel:汉字拼音首字母提取

excel:汉字拼音首字母提取

方法一:VBA自定义函数"=hztopy()"下面是一个VBA自定义函数,工具->宏->Visual Basic编辑器->,插入模块,在VBA编辑器里面->插入->模块->贴入下述代码,(按ALT+F11,插入模块,在右面窗口中粘贴下面代码)那么,比如在A3中有"进退两难",则在B3中输入"=hztopy(A3)",则会得到"JTLN"。

不过此法有时候也会出错,比如"皓、鑫、婷、雯、奕"等,就无法提取汉字拼音首字母。

Function hztopy(hzpy As String) As StringDim hzstring As String, pystring As StringDim hzpysum As Integer, hzi As Integer, hzpyhex As Integerhzstring = Trim(hzpy)hzpysum = Len(Trim(hzstring))pystring = ""For hzi = 1 To hzpysumhzpyhex = "&H" + Hex(Asc(Mid(hzstring, hzi, 1)))Select Case hzpyhexCase &HB0A1 To &HB0C4: pystring = pystring + "A"Case &HB0C5 To &HB2C0: pystring = pystring + "B"Case &HB2C1 To &HB4ED: pystring = pystring + "C"Case &HB4EE To &HB6E9: pystring = pystring + "D"Case &HB6EA To &HB7A1: pystring = pystring + "E"Case &HB7A2 To &HB8C0: pystring = pystring + "F"Case &HB8C1 To &HB9FD: pystring = pystring + "G"Case &HB9FE To &HBBF6: pystring = pystring + "H"Case &HBBF7 To &HBFA5: pystring = pystring + "J"Case &HBFA6 To &HC0AB: pystring = pystring + "K"Case &HC0AC To &HC2E7: pystring = pystring + "L"Case &HC2E8 To &HC4C2: pystring = pystring + "M"Case &HC4C3 To &HC5B5: pystring = pystring + "N"Case &HC5B6 To &HC5BD: pystring = pystring + "O"Case &HC5BE To &HC6D9: pystring = pystring + "P"Case &HC6DA To &HC8BA: pystring = pystring + "Q"Case &HC8BB To &HC8F5: pystring = pystring + "R"Case &HC8F6 To &HCBF9: pystring = pystring + "S"Case &HCBFA To &HCDD9: pystring = pystring + "T"Case &HEDC5: pystring = pystring + "T"Case &HCDDA To &HCEF3: pystring = pystring + "W"Case &HCEF4 To &HD1B8: pystring = pystring + "X"Case &HD1B9 To &HD4D0: pystring = pystring + "Y"Case &HD4D1 To &HD7F9: pystring = pystring + "Z"Case Elsepystring = pystring + Mid(hzstring, hzi, 1)End SelectNexthztopy = pystringEnd Function方法二:VBA自定义函数"=getpy()"下面是一个VBA自定义函数,工具->宏->Visual Basic编辑器->,插入模块,在VBA编辑器里面->插入->模块->贴入上述代码,那么。

在excel中把汉字转换成拼音(只取首字母)

在excel中把汉字转换成拼音(只取首字母)

打开Excel->工具->宏->Viaual Basic编辑器在弹出来的窗口中对着VBAproject点右键->插入->模块下面会出现一个名为"模块1",点击在右边的空白栏中粘贴以下内容:Function pinyin(p As String) As Stringi = Asc(p)Select Case iCase -20319 To -20284: pinyin = "A"Case -20283 To -19776: pinyin = "B"Case -19775 To -19219: pinyin = "C"Case -19218 To -18711: pinyin = "D"Case -18710 To -18527: pinyin = "E"Case -18526 To -18240: pinyin = "F"Case -18239 To -17923: pinyin = "G"Case -17922 To -17418: pinyin = "H"Case -17417 To -16475: pinyin = "J"Case -16474 To -16213: pinyin = "K"Case -16212 To -15641: pinyin = "L"Case -15640 To -15166: pinyin = "M"Case -15165 To -14923: pinyin = "N"Case -14922 To -14915: pinyin = "O"Case -14914 To -14631: pinyin = "P"Case -14630 To -14150: pinyin = "Q"Case -14149 To -14091: pinyin = "R"Case -14090 To -13319: pinyin = "S"Case -13318 To -12839: pinyin = "T"Case -12838 To -12557: pinyin = "W"Case -12556 To -11848: pinyin = "X"Case -11847 To -11056: pinyin = "Y"Case -11055 To -2050: pinyin = "Z"Case Else: pinyin = pEnd SelectEnd FunctionFunction getpy(str)For i = 1 To Len(str)getpy = getpy & pinyin(Mid(str, i, 1))Next iEnd Function********复制到此结束,本行不复制*******现在转换函数已编写完成!关掉此编缉的窗口。

取汉字拼音的VBA代码

取汉字拼音的VBA代码
PinMa = PinMa & "ya,11847,yan,11831,yang,11798,yao,11781,ye,11604,yi,11589,yin,11536,ying,11358,yo,11340,yong,11339,you,11324,yu,11303,yuan,11097,yue,11077,yun,11067,"
If Temp <= Val(MyPinMa(j)) Then
PinYin = PinYin & MyPinMa(j - 1) & " "
Exit For
End If
Next
PinMa = PinMa & "ka,16474,kai,16470,kan,16465,kang,16459,kao,16452,ke,16448,ken,16433,keng,16429,kong,16427,kou,16423,ku,16419,kua,16412,kuai,16407,kuan,16403,kuang,16401,kui,16393,kun,16220,kuo,16216,"
PinMa = PinMa & ran,14149,rang,14145,rao,14140,re,14137,ren,14135,reng,14125,ri,14123,rong,14122,rou,14112,ru,14109,ruan,14099,rui,14097,run,14094,ruo,14092,"
PinMa = PinMa & "da,19218,dai,19212,dan,19038,dang,19023,dao,19018,de,19006,deng,19003,di,18996,dian,18977,diao,18961,die,18952,ding,18783,diu,18774,dong,18773,dou,18763,du,18756,duan,18741,dui,18735,dun,18731,duo,18722,"

excel_汉字转换成拼音简拼(只取首字母)

excel_汉字转换成拼音简拼(只取首字母)

名字转换为首字母(VBA自定义函数)1、打开EXCEL2、按 ALT+F11 ,点击插入-插入模块,在右面窗口中粘贴下面代码,直接关闭窗口3、输入公式=hztopy(A1),填充所有单元格4、选中所有缩写,复制-选择性粘贴-数值(因为是自定义函数,只有在当前文件中可以显示结果,其他电脑因没有公式而显示错误)5、使用条件格式,检索出含有汉字的单元格:先点中一个单元格(设为D5),条件格式-新建格式规则-使用公式确定要设置格式的单元格:在下面对话框中输入公式 =LENB(D5)>LEN(D5),自己设置格式,确定后退出,再把该单元格的格式用格式刷刷所有单元格。

有汉字的出现所设格式6、选择自定义排序-排序依据“单元格颜色”-次序“无单元格颜色”“在底端”-确定。

7、将汉字手动改写为相应的字母。

8、核对多音字。

注:以上方法只可以在当前文件夹使用,如何将宏保存,使自定义函数可以在所有文件夹中使用1、新建一个EXCEL2、按 ALT+F11 ,点击插入-插入模块,在右面窗口中粘贴下面代码,直接关闭窗口3、另存为-其他格式-文件名改为宏名称、保存类型选择“EXCEL加载宏(*,xlam)”,文件将自动保存在C:\Users\111\AppData\Roaming\Microsoft\AddIns文件夹。

4、打开需要工作的EXLEL,点击开始-EXCEL选项-加载项-转到(G)...-选中上面保存的宏名称-确定。

这样,在该电脑的所有EXCEL中,都可以直接使用自定义公式。

代码(只复制星号内的内容)******************************************************************************* Function hztopy(hzpy As String) As StringDim hzstring As String, pystring As StringDim hzpysum As Integer, hzi As Integer, hzpyhex As Integerhzstring = Trim(hzpy)hzpysum = Len(Trim(hzstring))pystring = ""For hzi = 1 To hzpysumhzpyhex = "&H" + Hex(Asc(Mid(hzstring, hzi, 1)))Select Case hzpyhexCase &HB0A1 To &HB0C4: pystring = pystring + "A"Case &HB0C5 To &HB2C0: pystring = pystring + "B"Case &HB2C1 To &HB4ED: pystring = pystring + "C"Case &HB4EE To &HB6E9: pystring = pystring + "D"Case &HB6EA To &HB7A1: pystring = pystring + "E"Case &HB7A2 To &HB8C0: pystring = pystring + "F"Case &HB8C1 To &HB9FD: pystring = pystring + "G"Case &HB9FE To &HBBF6: pystring = pystring + "H"Case &HBBF7 To &HBFA5: pystring = pystring + "J"Case &HBFA6 To &HC0AB: pystring = pystring + "K"Case &HC0AC To &HC2E7: pystring = pystring + "L"Case &HC2E8 To &HC4C2: pystring = pystring + "M"Case &HC4C3 To &HC5B5: pystring = pystring + "N"Case &HC5B6 To &HC5BD: pystring = pystring + "O"Case &HC5BE To &HC6D9: pystring = pystring + "P"Case &HC6DA To &HC8BA: pystring = pystring + "Q"Case &HC8BB To &HC8F5: pystring = pystring + "R"Case &HC8F6 To &HCBF9: pystring = pystring + "S"Case &HCBFA To &HCDD9: pystring = pystring + "T"Case &HEDC5: pystring = pystring + "T"Case &HCDDA To &HCEF3: pystring = pystring + "W"Case &HCEF4 To &HD1B8: pystring = pystring + "X"Case &HD1B9 To &HD4D0: pystring = pystring + "Y"Case &HD4D1 To &HD7F9: pystring = pystring + "Z"Case Elsepystring = pystring + Mid(hzstring, hzi, 1)End SelectNexthztopy = pystringEnd Function*******************************************************************************。

汉字转拼音的解决方案(转帖)VBA实例教程

汉字转拼音的解决方案(转帖)VBA实例教程

汉字转拼音的解决方案(转帖)VBA实例教程除非注明,文章均为战战如疯原创,转载请保留链接: /cat4/559.html,VBA交流群273624828。

之前我分享过一个取汉字拼音首字母的函数,利用的是查字库的方法,但是最近使用时发现字库中的错误太多,导致其实用性大打折扣,在网上又查到了一种比较好的解决方案来跟网友分享下。

该方案是Excelhome网友的作品,原帖地址,要求电脑上安装有微软拼音,该自定义函数功能强大,不仅可以用来取首字母,更可以用来显示全部拼音,甚至可以带声调。

请首先确认安装了微软拼音输入法,如果出现注音错误的情况,可尝试安装最新版本微软拼音解决。

[12.01.29]更新解决看柳絮飘扬提出的bug,全部都是非汉字情况不会再显示#Value,同时非中文字符间也不再插入分隔符。

[11.09.29]更新根据dul版的分析,加入了运行环境检查,没有运行环境的话会提示安装微软拼音。

[11.09.23]更新4年来不断有人问多音字的问题,这次更新终于解决了,由于写了这个函数之后我就从来没用到过,遇到些问题就放下了,一拖就这么久,要不是不断有人给我发消息可能就不会再有这次的更新了,还要感谢大家的使用和督促,让各位久等了。

更新后,“重庆重要”能够正确解析为“chóng qìng zhòng yào” 。

这次重写了很多代码,没有过多测试不知道有没有bug,发现bug的同学请给我发消息,谢谢。

代码在32位Win7 + Office2010和WinXp + office2010测试通过,64位的系统应该会出错,就不要测试了。

以前遇到过2010下写的VBA代码在之前版本运行会报未找到库之类的错误,代码中注意了,但仍可能会有遗漏,总之,请大家反馈意见,让这个小函数更好的为大家服务。

'************************************************************** *************'*'* Module: HzToPy'* Update: 2011-09-23'* Author: tt.t'*'* Description: 将中文字符串转换为拼音,就这些。

vb获取输入汉字的拼音

vb获取输入汉字的拼音
'******************************** 说明***********************
'调用方式:GetPY(“你输入的汉字”,“最大返回字符长度”)
'如text1.text=getpy("中国人",10),则返回ZGR
'需要注意的是:貔貅、浏等字无法返回拼音首字母,只能返回原字
'******************************** 说明***********************
Public Function GetPY(ByVal InString As String, Optional ByVal MaxLen As Variant) As String
'转换一个字符串内所有汉字为拼音首字母
'InString - 输入的汉字字符串
'MaxLen - 返回的字符最大长度
'返回值:
' 所有汉字的拼音首字母.
'备注:
' 仅处理汉字,非汉字原样返回.
Select Case lChar
Case 45217 To 45252
GetPYChar = "A"
Case 45253 To 45760
GetPYChar = "B"
Case 45761 To 46317
GetPYChar = sChar
End Select
End Function
GetPYChar = "M"
Case 50371 To 50613
GetPYChar = "N"

excel-汉字转换成拼音简拼(只取首字母)

excel-汉字转换成拼音简拼(只取首字母)

名字转换为首字母(VBA自定义函数)1、打开EXCEL2、按 ALT+F11 ,点击插入-插入模块,在右面窗口中粘贴下面代码,直接关闭窗口3、输入公式=hztopy(A1),填充所有单元格4、选中所有缩写,复制-选择性粘贴-数值(因为是自定义函数,只有在当前文件中可以显示结果,其他电脑因没有公式而显示错误)5、使用条件格式,检索出含有汉字的单元格:先点中一个单元格(设为D5),条件格式-新建格式规则-使用公式确定要设置格式的单元格:在下面对话框中输入公式 =LENB(D5)>LEN(D5),自己设置格式,确定后退出,再把该单元格的格式用格式刷刷所有单元格。

有汉字的出现所设格式6、选择自定义排序-排序依据“单元格颜色”-次序“无单元格颜色”“在底端”-确定。

7、将汉字手动改写为相应的字母。

8、核对多音字。

注:以上方法只可以在当前文件夹使用,如何将宏保存,使自定义函数可以在所有文件夹中使用1、新建一个EXCEL2、按 ALT+F11 ,点击插入-插入模块,在右面窗口中粘贴下面代码,直接关闭窗口3、另存为-其他格式-文件名改为宏名称、保存类型选择“EXCEL加载宏(*,xlam)”,文件将自动保存在C:\Users\111\AppData\Roaming\Microsoft\AddIns文件夹。

4、打开需要工作的EXLEL,点击开始-EXCEL选项-加载项-转到(G)...-选中上面保存的宏名称-确定。

这样,在该电脑的所有EXCEL中,都可以直接使用自定义公式。

代码(只复制星号内的内容)******************************************************************************* Function hztopy(hzpy As String) As StringDim hzstring As String, pystring As StringDim hzpysum As Integer, hzi As Integer, hzpyhex As Integerhzstring = Trim(hzpy)hzpysum = Len(Trim(hzstring))pystring = ""For hzi = 1 To hzpysumhzpyhex = "&H" + Hex(Asc(Mid(hzstring, hzi, 1)))Select Case hzpyhexCase &HB0A1 To &HB0C4: pystring = pystring + "A"Case &HB0C5 To &HB2C0: pystring = pystring + "B"Case &HB2C1 To &HB4ED: pystring = pystring + "C"Case &HB4EE To &HB6E9: pystring = pystring + "D"Case &HB6EA To &HB7A1: pystring = pystring + "E"Case &HB7A2 To &HB8C0: pystring = pystring + "F"Case &HB8C1 To &HB9FD: pystring = pystring + "G"Case &HB9FE To &HBBF6: pystring = pystring + "H"Case &HBBF7 To &HBFA5: pystring = pystring + "J"Case &HBFA6 To &HC0AB: pystring = pystring + "K"Case &HC0AC To &HC2E7: pystring = pystring + "L"Case &HC2E8 To &HC4C2: pystring = pystring + "M"Case &HC4C3 To &HC5B5: pystring = pystring + "N"Case &HC5B6 To &HC5BD: pystring = pystring + "O"Case &HC5BE To &HC6D9: pystring = pystring + "P"Case &HC6DA To &HC8BA: pystring = pystring + "Q"Case &HC8BB To &HC8F5: pystring = pystring + "R"Case &HC8F6 To &HCBF9: pystring = pystring + "S"Case &HCBFA To &HCDD9: pystring = pystring + "T"Case &HEDC5: pystring = pystring + "T"Case &HCDDA To &HCEF3: pystring = pystring + "W"Case &HCEF4 To &HD1B8: pystring = pystring + "X"Case &HD1B9 To &HD4D0: pystring = pystring + "Y"Case &HD4D1 To &HD7F9: pystring = pystring + "Z"Case Elsepystring = pystring + Mid(hzstring, hzi, 1)End SelectNexthztopy = pystringEnd Function*******************************************************************************。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Option Explicit
Public Sub dnxbz()
Dim myrange As Range
Dim i As Long, j As Long
Dim temp As String
Set myrange = Worksheets("Sheet1").Range("a1").CurrentRegion
For i = 1 To myrange.Rows.Count '从1行开始到有数据的最后一行
temp = Cells(i, "A") '假设原数据在A列
For j = 1 To Len(temp)
If Get_Pinyin(Mid(temp, j, 1)) <> "" Then Mid(temp, j, 1) = Get_Pinyin(Mid(temp, j, 1)) '如果速度慢再加个变量
Next
Cells(i, "B") = temp '假设B列为输出数据
Next
End Sub
Public Function Get_Pinyin(ByVal Hanzi As String) As String
Dim Ch As String
Ch = Left(Hanzi, 1)
Select Case Asc(Ch)
Case -20319 To -20284
Get_Pinyin = "A"
Case -20283 To -19776
Get_Pinyin = "B"
Case -19775 To -19219
Get_Pinyin = "C"
Case -19218 To -18711
Get_Pinyin = "D"
Case -18710 To -18527
Get_Pinyin = "E"
Case -18526 To -18240
Get_Pinyin = "F"
Case -18239 To -17923
Get_Pinyin = "G"
Case -17922 To -17418
Get_Pinyin = "H"
Case -17417 To -16475
Get_Pinyin = "J"
Case -16474 To -16217
Get_Pinyin = "K"
Case -16216 To -15641 Get_Pinyin = "L" Case -15640 To -15166 Get_Pinyin = "M" Case -15165 To -14923 Get_Pinyin = "N" Case -14922 To -14915 Get_Pinyin = "O" Case -14914 To -14631 Get_Pinyin = "P" Case -14630 To -14150 Get_Pinyin = "Q" Case -14149 To -14091 Get_Pinyin = "R" Case -14090 To -13319 Get_Pinyin = "S" Case -13318 To -12839 Get_Pinyin = "T" Case -12838 To -12557 Get_Pinyin = "W" Case -12557 To -11848 Get_Pinyin = "X" Case -11847 To -11056 Get_Pinyin = "Y" Case -11055 To -10246 Get_Pinyin = "Z" Case Else
Get_Pinyin = ""
End Select
End Function。

相关文档
最新文档