
Option Compare Text
Public userinput As Boolean
Function PY(ByVal rng As String)
Dim i%, k%, str$
str = Replace(Replace(rng, " ", ""), " ", "") 去空格和tab
For i = 1 To Len(str)
k = 1
If UCase(Mid(str, i, 1)) Like "[A-Z]" Then
PY = PY & UCase(Mid(str, i, 1))
Else
Do Until Mid("八嚓哒妸发旮铪讥讥咔垃妈拿哦妑七然仨他哇哇哇夕丫匝咗", k, 1) > Mid(str, i, 1)
k = k + 1
Loop
PY = PY & Chr(64 + k)
End If
Next
End Function
在宏编辑器中输入上面的代码.
如下所示


我想用中文解释这段代码的情况.
(当然,我也是出于这个原则也来自百度)
字符串“ 8 dang fa旮sneer ka La Ma Na oh 7 ran 3 he wow wow wah wah wah wah wah wah wah wah wah yeah yeah”代表所有字符,其字母BCDEFGHIJKLMNOPQRSTWXYZ为BCDEFGHIJKLMNOPQRSTWXYZ拼音,其中U和V不能作为中文拼音的第一个字母,“哇”用来占据另外两个位置,以避免接下来的四个字母错位.
执行直到...循环...循环意味着停止循环,直到满足特定条件为止.
表示比较参考字符中从左到右的字符,并在遇到第一个“大于”条件时停止累加变量k.

然后您的Excel添加一个由VBA创建的自定义函数: PY函数.
测试如下:
例如,带有一些符号的普通文字

如果源文本为英文,则英文将保持不变


但是,复音字符似乎无法区分,如下图所示的会计“ will”

方法2: 获取完整的拼音.
有一个Excel制作的工具. 原理应该是通过Microsoft拼音字体获得拼写.
效果如下:

网络磁盘链接:
/ s / 1i51dMRF
下面是他们的官方网站链接,
还有很多其他工具,包括此拼音转换工具.
(我帮助他们免费做广告...)
/ share / home?uk = 3526746277
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/shumachanpin/article-297054-1.html
所以他要显示他的力量