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

次のように記述する必要があります。

If var = 1 or var = 2

or同じ条件の一部を形成する 2 つの値ではなく、2 つの条件を接続するためです。

于 2013-04-01T15:33:32.353 に答える
2

よりクリーンなコードが必要な場合は、case代わりに式を使用できます。

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