Dim MyVar, MyCheck
MyVar = 53 '赋值。
MyCheck1 = IsNumeric(MyVar) ' 返回 True。
MyVar = "459.95" ' 赋值。
MyCheck2 = IsNumeric(MyVar) ' 返回True。
MyVar = "45 Help" ' 赋值。
MyCheck3 = IsNumeric(MyVar) ' 返回 False。
If (IsNumeric (MyCheck1)) Then
MsgBox("aa")
End If
If (IsNumeric (MyCheck2)) Then
MsgBox("bb")
End If
If (IsNumeric (MyCheck3)) Then
MsgBox("cc")
End If
我想判断是否为数字,为什么3个if语句中的MsgBox都显示出来了????
MyVar = 53 '赋值。
MyCheck1 = IsNumeric(MyVar) ' 返回 True。
MyVar = "459.95" ' 赋值。
MyCheck2 = IsNumeric(MyVar) ' 返回True。
MyVar = "45 Help" ' 赋值。
MyCheck3 = IsNumeric(MyVar) ' 返回 False。
If (IsNumeric (MyCheck1)) Then
MsgBox("aa")
End If
If (IsNumeric (MyCheck2)) Then
MsgBox("bb")
End If
If (IsNumeric (MyCheck3)) Then
MsgBox("cc")
End If
我想判断是否为数字,为什么3个if语句中的MsgBox都显示出来了????
Dim MyVar, MyCheck1,MyCheck2,MyCheck3
MyVar = 53 '赋值。
MyCheck1 = IsNumeric(MyVar) ' 返回 True。
MyVar = "459.95" ' 赋值。
MyCheck2 = IsNumeric(MyVar) ' 返回True。
MyVar = "45 Help" ' 赋值。
MyCheck3 = IsNumeric(MyVar) ' 返回 False。
If MyCheck1 Then
MsgBox("aa")
End If
If MyCheck2 Then
MsgBox("bb")
End If
If MyCheck3 Then
MsgBox("cc")
End If
MyCheck1 = IsNumeric(MyVar1) ' 返回 True。
MyVar2 = "459.95" ' 赋值。
MyCheck2 = IsNumeric(MyVar2) ' 返回True。
MyVar3 = "45 Help" ' 赋值。
MyCheck3 = IsNumeric(MyVar3) ' 返回 False。
If IsNumeric(MyVar1) Then
MsgBox("aa")
End If
If IsNumeric(MyVar2) Then
MsgBox("bb")
End If
If IsNumeric(MyVar3) Then
MsgBox("cc")
End If改成这样aa bb cc 都会弹出来,为什么呢?
IsNumeric (True) 和IsNumeric (False) 都为True
直接将53,459.95,
45 Help 付给MyCheck1,2,3应该就可以了
根据你前面的计算结果,括号里面的都是True或者False
而VB里面true,false实际上是代表了数字0,-1(好像是这两个数,很久了记不太清了)
所一,肯定是数字,返回值三个档然都是true了你在if 后面应该去掉IsNumeric直接写MyCheck3就可以了
内容MyVar1 = 53 '赋值。
MyCheck1 = IsNumeric(MyVar1) ' 手册上说这里返回 True。
MyVar2 = "459.95" ' 赋值。
MyCheck2 = IsNumeric(MyVar2) ' 手册上说这里返回True。
MyVar3 = "45 Help" ' 赋值。
MyCheck3 = IsNumeric(MyVar3) ' 手册上说这里返回 False。
If IsNumeric(MyVar1) Then
MsgBox("aa")
End If
If IsNumeric(MyVar2) Then
MsgBox("bb")
End If
If IsNumeric(MyVar3) Then '这里为什么会等于true呢???????
MsgBox("cc") '照理说不应该弹出来,但是我运行时弹出来了
End If
MyCheck1 = IsNumeric(MyVar1) ' 手册上说这里返回 True。
MyVar2 = "459.95" ' 赋值。
MyCheck2 = IsNumeric(MyVar2) ' 手册上说这里返回True。
MyVar3 = "45 Help" ' 赋值。
MyCheck3 = IsNumeric(MyVar3) ' 手册上说这里返回 False。
If IsNumeric(MyVar1) Then
MsgBox("aa")
End If
If IsNumeric(MyVar2) Then
MsgBox("bb")
End If
If IsNumeric(MyVar3) Then '这里为什么会等于true呢???????
MsgBox("cc") '照理说不应该弹出来,但是我运行时弹出来了
End If我也是2003,把你的内容原样复制到一文本文件里并改名为123.VBS后,双击只出现AA与BB两个提示框.检查你自己的环境.
我也试过,这段代码作为.vbs脚本文件,只弹前两个消息框。
但在Office的VBA宏中运行,则会弹出三个消息。
也只弹出“aa”和“bb”