VBA初学者在这里。我试图在VBA 2003中做一个非常简单的if / then语句,但我遇到了这个问题。我的代码是:
Dim var as Integer
If var = 1 or 2 Then
'Do stuff
Else
MsgBox ("error")
我一直在使用or语句遇到问题。如果我将其更改为var = 1,代码运行顺利;如果我把它重写为
If var = 1 or var = 2
然后它工作正常。但是,正如我想扩展这一点,能够以更有凝聚力的方式编写它将是伟大的。我错过了什么? :(
答案 0 :(得分:2)
你需要把它写成:
If var = 1 or var = 2
因为or
连接两个条件,而不是两个构成相同条件的值。
答案 1 :(得分:2)
如果您想要更清晰的代码,可以改为使用case
表达式:
select case var
case 1, 2
'Do stuff
case else
MsgBox ("error")
end select