Excel中VB编程关于判断单元格数据类型的问题(高手进)..
如何判断单元格的数据类型?已知单元格A1只有可能是:1.空格2.字符或字符串,如"+","-",“%”,"$","&"...等等3.英文,包括大写和小写的4,数值,包括小...
如何判断单元格的数据类型?
已知单元格A1只有可能是:
1.空格
2.字符或字符串,如"+","-",“%”,"$","&"...等等
3.英文,包括大写和小写的
4,数值,包括小数
5.中文
该单元格只有可能是单一的类型,不可能是混合的,比如"13a #%中国"是不可能的
有内部函数可以直接使用么?
如果没有,我想自定义一个函数,
希望高手不吝赋教
如果咸麻烦,不用写出具体代码,只需告诉我需要用到的语句和函数就行了
非常感谢! 展开
已知单元格A1只有可能是:
1.空格
2.字符或字符串,如"+","-",“%”,"$","&"...等等
3.英文,包括大写和小写的
4,数值,包括小数
5.中文
该单元格只有可能是单一的类型,不可能是混合的,比如"13a #%中国"是不可能的
有内部函数可以直接使用么?
如果没有,我想自定义一个函数,
希望高手不吝赋教
如果咸麻烦,不用写出具体代码,只需告诉我需要用到的语句和函数就行了
非常感谢! 展开
1个回答
展开全部
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Select Case VarType(Target.Value) '返回字符串的类型
Case 8 '字符串的时候
For i = 1 To Len(Target.Value)
s = Mid(Target.Value, i, 1)
If AscW(s) > 255 Then '汉字的ASCW>255
MsgBox "汉字"
Exit For
ElseIf s < "a" Or s > "z" Then '当不是英文的时候
MsgBox "有符号的字符串"
Exit For
Else '余下的全是英文了
If i = Len(Target.Value) Then MsgBox "英文串"
End If
Next
Case 2, 3, 4, 5 '整形.长整形,单双精度的
MsgBox "数值"
Case Else
MsgBox "Empty"
End Select
End Sub
Select Case VarType(Target.Value) '返回字符串的类型
Case 8 '字符串的时候
For i = 1 To Len(Target.Value)
s = Mid(Target.Value, i, 1)
If AscW(s) > 255 Then '汉字的ASCW>255
MsgBox "汉字"
Exit For
ElseIf s < "a" Or s > "z" Then '当不是英文的时候
MsgBox "有符号的字符串"
Exit For
Else '余下的全是英文了
If i = Len(Target.Value) Then MsgBox "英文串"
End If
Next
Case 2, 3, 4, 5 '整形.长整形,单双精度的
MsgBox "数值"
Case Else
MsgBox "Empty"
End Select
End Sub
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询