基本的な使い方

条件によって処理を分岐させる - If文

 条件によって実行する処理を分岐させたい場合はIf文を使います。

 If文の書式

If文は用途によって以下のような書式で記述することができます。

If文の書式

<書式1>

If 条件 Then 条件が真の時の実行文

<書式2>

If 条件 Then
   条件が真の時の実行文
End If

<書式3>

If 条件 Then 条件が真の時の実行文 Else 条件が偽の時の実行文

<書式4>

If 条件 Then
   条件が真の時の実行文
Else
   条件が偽の時の実行文
End If

<書式5>

If 条件1 Then
   条件1が真の時の実行文
ElseIf 条件2
   条件1が偽で条件2が真の時の実行文
Else
全ての条件が偽の時の実行文
End If

If文は指定した条件が満たされるか満たされないかによって、どの処理を実行するかが決まります。条件が満たされる場合を「真」と条件が満たされない場合を「偽」と呼びます。

書式1と書式2は条件が真の時にだけ実行したい処理がある場合に使用します。

書式3と書式4は条件が真の時と偽の時で実行する処理を分けたい場合に使用します。書式4のほうがすっきりとして見やすいのでお勧めです。

書式5は条件によって実行する処理を3つ以上に分けたい場合に使用します。上記の場合は条件が2つまでしか記載されていませんが、必要に応じて条件をもっと増やすこともできます。

 条件の書き方

If文で指定する条件は以下のように記述します。

a < b aがbより小さい場合に真となる
a <= b aがb以下の場合に真となる
a > b aがbより大きい場合に真となる
a >= b aがb以上の場合に真となる
a = b aとbが等しい場合に真となる
a <> b aとbが異なる場合に真となる

2つの値を比較した結果で真となるか偽となるかが決まります。

 使い方の例 <その1>

以下は、条件が真の時にだけ実行したい処理がある場合のIf文の使い方の例です。

num = InputBox("点数を入力してください")
If num >= 50 Then MsgBox "合格です"

この例では、入力された点数が50点以上であった場合だけ「合格です」と表示します。InputBox関数で入力した点数を変数numに格納して50点以上であるかを比較しています。50点以上であった場合はMsgBox関数で「合格です」と表示します。

 使い方の例 <その2>

以下は、条件によって実行したい処理を4つに分岐する場合のIf文の使い方の例です。

num = InputBox("点数を入力してください")
If num >= 90 Then
   MsgBox "優秀な成績です"
ElseIf num >= 50 Then
   MsgBox "そこそこな成績です"
ElseIf num = 0 Then
   MsgBox "やる気があるのですか?"
Else
   MsgBox "もっとがんばりましょう"
End If

この例では、入力された点数が90点以上であった場合は「優秀な成績です」と、50点以上であった場合は「そこそこな成績です」と、0点の場合は「やる気があるのですか?」と、そしてどの条件にも当てはまらない場合は「もっとがんばりましょう」と表示します。

InputBox関数で入力した点数を変数numに格納して、それぞれの条件で比較しています。条件にあったメッセージをMsgBox関数で表示しています。

 

メニューに戻る