在VBE窗口中,选择“插入”菜单,然后选择“模块”,在打开的代码窗口中输入以下代码:```vba Public Function LChin(Str As String) As Variant On Error Resume Next Str = StrConv(Str, vbNarrow)If Asc(Str) > 0 Or Err.Number = 1004 Then LChin =
OnErrorResumeNext Str = StrConv(Str, vbNarrow) IfAsc(Str) > 0OrErr.Number = 1004ThenLChin ="" LChin = WorksheetFunction.VLookup(Str, [{"吖","a";"八","b";"嚓","c";"咑","d";"鵽","e";"发","f";"猤","g"; 1 2 "铪","h";"夻","j";"咔","k";"垃","l";"嘸...
例如space(5) 则返回 " " strconv(字符串,转换的类型) 将字符串转成指定的类型。常用的类型只有两个,vbwide 半角转成全角,vbNarrow 全角转成半角 例如strconv("xiao",vbwide) 则返回 "XIAO",而strconv("XIAO",vbnarrow) 则返回 "XIAO" ’备注 vbwide = 4 ,vbnarrow = 8 len(字符串) 返回[字符串...
3、方法三:VBA法Sub ccp()Dim RegExp As ObjectSet RegExp = CreateObject("VBScript.RegExp")For t = 1 To Range("A65536").End(xlUp).RowCells(t, 1) = StrConv(Cells(t, 1), vbNarrow) '把计算式里的全角“(”、“)”都转化为半角“(”、“)”Cells(t, 1) = Replace(Cells(t, 1), ...
Function pinyin(myStr As String) As Variant '自定义函数,目的:把单个汉字变为拼音的第一个字母。 On Error Resume Next myStr = StrConv(myStr, vbNarrow) If Asc(myStr) > 0 Or Err.Number = 1004 Then pinyin = "" pinyin = Application.WorksheetFunction.VLookup(myStr, [{"吖","A";"八","...
Function PY(ByVal Rng As String) Dim LenInt As Integer, i As Integer Dim Temp As String, oStr As String On Error Resume Next myStr = StrConv(myStr, vbNarrow) LenInt = Len(Rng) For i = 1 To LenInt If Asc(Mid(Rng, i, 1)) > 0 Or Err.Number = 1004 Then oStr = "" oStr...
如果后面还有汉字,将无法达到目标;如果其中包含全角的非汉字字符,也无法达到目标。VBA法 可使用如下VBA操作,使用CC函数即可。以上问题也不存在。Function CC(myRange As Range)On Error Resume NextDim i As SingleFor i = 1 To Len(myRange)If Asc(StrConv(Mid(myRange, i, 1), vbNarrow))...
rng.Value = StrConv(rng.Value, vbNarrow) Next rng End Sub 保存并关闭VBA编辑器。 运行VBA宏: 返回Excel文件,选中需要转换的单元格或范围。 按下“Alt+F8”打开宏对话框,选择“SimplifiedToTraditional”或“TraditionalToSimplified”宏,然后点击“运行”即可。
Function pinyin(myStr As String) As Variant '自定义函数,目的:把单个汉字变为拼音的第一个字母。 On Error Resume Next myStr = StrConv(myStr, vbNarrow) If Asc(myStr) > 0 Or Err.Number = 1004 Then pinyin = "" pinyin = Application.WorksheetFunction.VLookup(myStr, [{"吖","A";"八","...
Dim strResult As String Dim lStart As Long Dim sTemp As String On Error Resume Next For lStart = 1 To Len(vText)sTemp = VBA.StrConv(Mid(vText, lStart, 1), vbNarrow)If Len(sTemp) <> LenB(StrConv(sTemp, vbFromUnicode)) Then '是否为汉字 strResult = strResult & ...