条件式を複数書く
今までは一つのif文には一つの条件式のみを書いてきました。例: str = InputBox("値を入力してください") num = CInt(str) if( num = 5 ) then MsgBox("あたりです") end if
しかし、if文の条件式は複数同時に書くことが出来ます。
複数書いたときには、以下のどちらかのキーワードでつなげます。
or どちらかの条件式が正しい
and 両方の条件式が正しい
たとえば、入力した値が5か10なら「あたりです」と表示する場合には以下のように書きます。
例: str = InputBox("値を入力してください") num = CInt(str) if( num = 5 or num = 10 ) then MsgBox("あたりです") end if
if文の括弧の中には
num = 5 or num = 10
と二つの条件式を or でつなげています。

このように条件式をつなげることが出来るのです。
この例では、orという言葉でつなげています。orは左側の条件式と右側の条件式、どちらかが正しければ条件を満たしていると判断します。つまり、numが5 または numが10のときに条件が正しいと判断されます(orは「または」という意味です)。
orとは違って二つの条件式の両方を満たさなければならないのがandです。andの例を見てみましょう。
str = InputBox("値を入力してください") num = CInt(str) if( num > 5 and num < 10 ) then MsgBox("あたりです") end if
if文の括弧の中には
num > 5 and num < 10
と今度は二つの条件式がandでつながっています。

numが5よりも大きく、かつnumが10よりも小さいときに正しいと判断されます。ですから、この場合、6,7,8,9を入力した場合に正しいとなって「あたりです」と表示されることになります。
条件式をこのようにつなげることは、いくつでも出来ます。括弧をつけることで優先順位をつけることも出来ます。たとえば、
if( (num > 5 and num < 10 ) or num = 12 ) then MsgBox("あたりです") end if
と書いた場合、numが6,7,8,9または12のときに「あたりです」と表示されます。

問題6-6
キーボードから入力した値が3~8だったら「あたり」、そうでなかったら「はずれ」と表示しよう
問題6-7
キーボードから入力した値が100~200または300~400だったら「あたり」、そうでなかったら「はずれ」と表示しよう