直接用ASC()函数来判断.
中文的ASC()结果会是负数.

解决方案 »

  1.   

    嗯,用asc()行了,那么怎么判断是否为数字呢?
      

  2.   

    中文Public Function isChinese(ByVal asciiv As Integer) As Boolean
       If Len(Hex$(asciiv)) > 2 Then
          isChinese = True
       Else
          isChinese = False
       End If
    End Functionasciiv为中文的ascii码数字用isnumeric检测
      

  3.   

    给你个计算中英文混合字符串长度的例子参考:
    Public Function GetStrLen(ByVal pString As String) As Long
        '计算字符串的长度
        Dim X As Long
        Dim Y As Long
        Dim i As Long
        pString = Trim(pString)
        X = Len(pString)
        Y = 0
        For i = 1 To X
            If Asc(Mid(pString, i, 1)) < 0 Or Asc(Mid(pString, i, 1)) > 255 Then '如果是汉字
                Y = Y + 2
            Else
                Y = Y + 1
            End If
        Next
        GetStrLen = Y
    End Function