Select Case tempData
Case tt2 And Not IsNumeric(tt)
为什么与is组合后不与下式等价
If tempData = tt2 and Not IsNumeric(tt2) Then
debug.print "Test"
End If
select case 帮助文件有这样一句话.
每个 Case 语句可以包含一个以上的值,一个值的范围,或是一个值的组合以及比较运算符。
比较运算符
字符或符号,用来表示两个或多个值或表达式之间的关系。这些运算符包括小于 (<) 、小于等于 (<=) 、大于 (>) 、大于等于 (>=) 、不等 (<>) 和等于 (=)。其它运算符还有 Is 和 Like。注意,在 Select Case 语句中不能把 Is 和 Like 当作比较运算符来使用。请问
is 是否不包括not isnumeric()
Case tt2 And Not IsNumeric(tt)
为什么与is组合后不与下式等价
If tempData = tt2 and Not IsNumeric(tt2) Then
debug.print "Test"
End If
select case 帮助文件有这样一句话.
每个 Case 语句可以包含一个以上的值,一个值的范围,或是一个值的组合以及比较运算符。
比较运算符
字符或符号,用来表示两个或多个值或表达式之间的关系。这些运算符包括小于 (<) 、小于等于 (<=) 、大于 (>) 、大于等于 (>=) 、不等 (<>) 和等于 (=)。其它运算符还有 Is 和 Like。注意,在 Select Case 语句中不能把 Is 和 Like 当作比较运算符来使用。请问
is 是否不包括not isnumeric()
那不是Isnumeric函数吗?
debug.print "Test"
End If
程序通过
而
Select Case tempData
Case tt2 And Not IsNumeric(tt)
程序不通过.
所提问题,为什么两个语句不等价.
应改为Select Case tempData Case Is = Not IsNumeric(tt), tt2
Case tt2 And Not IsNumeric(tt) 与
If tempData = (tt2 and Not IsNumeric(tt2)) Then 等价
Sub ls2()
tt = "dd"
tt1 = 1
ttt = "dd"
Select Case tt
Case ttt And IsNumeric(tt1)---程序不通过,提示数据类型不匹配。
Debug.Print 22
Case ttt, IsNumeric(tt1)--- 程序通过,执行的是逻辑或.
Debug.Print 22
End Select
End Sub
Case tt2
If Not IsNumeric(tt) Then End If
End Select
看下面:Private Sub ls2()
tt = True
tt1 = 1
ttt = "dd"
Select Case tt
Case ttt = "dd" And IsNumeric(tt1)
Debug.Print 22 & "A"
Case ttt, IsNumeric(tt1)
Debug.Print 22 & "B"
End Select
End Sub
还有在下面的结构中:tempData测试数据的所有可能结果应该在下面case语句中枚举。
你那个叫什么case语句,我不太明白??
Select Case tempData
Case tempData结果1
If Not IsNumeric(tt) Then
...
End If
case tempData结果2
...
case tempData结果3
...
Case Else 'tempData的上面所有结果都不满足时执行
...
End Select
Case tt2 And Not IsNumeric(tt2) and 如同 C中的"与"
Case tt2 And Not IsNumeric(tt2) case 后面跟的是表达式,即tt2 And Not IsNumeric(tt2)被当作(tt2 And Not IsNumeric(tt2)),即True or False也就是说,当tt2非0数字时满足条件case tt2
if isnumeric(tt2) then
end if
等于tt2并且是一个数字所以不是一个概念