0

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

然后它工作正常。但正如我想扩展它一样,能够以更有凝聚力的方式编写它会很棒。我错过了什么?:(

4

2 回答 2

2

如果你想要更简洁的代码,你可以使用一个case表达式来代替:

select case var 
    case 1, 2
        'Do stuff
    case else
        MsgBox ("error")
end select
于 2013-04-01T15:33:43.947 回答
2

你需要把它写成:

If var = 1 or var = 2

因为or连接两个条件,而不是构成同一条件一部分的两个值。

于 2013-04-01T15:33:32.353 回答