VBA判断字符串中是否含有汉字
发布网友
发布时间:2023-07-05 20:36
我来回答
共1个回答
热心网友
时间:2023-07-13 17:44
Function StrWithChinese(StrChk As String) As Boolean StrChk = VBA.StrConv(StrChk, vbNarrow)'将字符串转换成半角 StrWithChinese = IIf(Len(StrChk) < LenB(StrConv(StrChk, vbFromUnicode)), True, False)
'VBA中默认英文字符串都是Unicode,双字节,如果转化为vbFromUnicode就变成单字节,汉字还是双字节,如果转换之前的字符长度与转化之后的字节长度相等(LenB是计算字符的字节长度的函数),说明不含中文字符,反之含有中文字符。 End Function
Sub check() Debug.Print StrWithChinese("中文Excel应用论坛") Debug.Print StrWithChinese("ExcelHome Forum") End Sub
上述方法在VBA中和自定义工作表函数都可以使用。
Function StrWithChinese(StrChk As String) As Boolean
StrChk = VBA.StrConv(StrChk, vbNarrow)