我试图做这样的事情
sub test()
a=inputbox("value1:")
b=inputbox("value2:")
c=inputbox("value3:")
if a<b and a>c then
msgbox(a)
else
msgbox(b)
msgbox(c)
end if
end sub
当我为a输入5,为b为10,为c为2时,条件应该返回TRUE,然后显示带有a的消息框,但是它返回FALSE并显示带有b和c的消息框。我认为解决方案非常简单,但我无法弄清楚。
非常感谢
最佳答案
发生这种情况是因为VBA将您的输入视为字符串。只需将CInt()或CLng()添加到变量即可,以使Excel知道它们是数字。
Sub test()
a = CInt(InputBox("value1:"))
b = CInt(InputBox("value2:"))
c = CInt(InputBox("value3:"))
If a < b And a > c Then
MsgBox (a)
Else
MsgBox (b)
MsgBox (c)
End If
End Sub