VBA If Then或Statements

时间:2013-04-01 15:31:56

标签: vba excel-vba-mac

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

然后它工作正常。但是,正如我想扩展这一点,能够以更有凝聚力的方式编写它将是伟大的。我错过了什么? :(

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