我想检查用户输入。如果我在 myRange
中有一个单元格其中包含“2..4”它通过IsNumeric
测试为真,这就是我寻找其他选择的原因。
如果我运行一个包含
MsgBox (TypeName(myRange.Cells(i, j).Value))
我收到一条消息,说 2..4 是 String
但是对于以下每件事,我的代码都无法编译:' expects Object or Typename
If TypeOf myRange.Cells(i, j).Value is String Then
' expects Then or GoTo
If TypeOf myRange.Cells(i, j).Value is GetType(String) Then
' expects Then or GoTo
Dim word As String
word = "Hello World"
If TypeOf myRange.Cells(i, j).Value is GetType(word) Then
最佳答案
TypeOf
仅用于对象。
用于检查 String
变量使用 TypeName
或 VarType
:
Debug.Print TypeName(myRange.Cells(i, j).Value)
Debug.Print VarType(myRange.Cells(i, j).Value) 'VarType returns 8 for a string type
请参阅 here在使用 VarType
的情况下,所有变量类型都返回值...
关于excel - 与字符串比较时如何使用 "TypeOf ___ is ___ Then ",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68437193/