Function StrWithChinese(StrChk As String) As Boolean StrChk = VBA.StrConv(StrChk, vbNarrow)"將字串轉換成半形 StrWithChinese = IIf(Len(StrChk)
"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)
Function StrWithChinese(StrChk As String) As Boolean StrChk = VBA.StrConv(StrChk, vbNarrow)"將字串轉換成半形 StrWithChinese = IIf(Len(StrChk)
"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)