【用語集に記載の内容について】
用語集に記載されているメソッドや関数の引数は、VBAエキスパート試験の試験範囲に基づいており、すべての引数を網羅しておりません。
また、書式は公式テキストの記載に準じています。
試験範囲外の引数や詳細については、ヘルプ機能やオブジェクトブラウザーをご参照ください。
【コードをコピーして実行する場合の注意】
文字コードの関係上、半角の「¥」は「/」で表示されるため、当サイトでは全角の「¥」で記載しています。当サイトのコードをコピーして実行する場合は、全角の「¥」を半角の「¥」に変換してください。
Ifステートメント
| 名称 | Ifステートメント |
|---|---|
| 説明 | 条件分岐を表す命令です。 二値を判定する場合は、Ifステートメントを使用します。 二値とは、「〇〇か、そうでないか」という2つの値です。 二値の判定とは、「〇〇なら処理1、〇〇でなければ処理2」という判定です。 【比較】 二値以外の条件分岐は、Select Caseステートメントを使用して、「〇〇なら処理1」「××なら処理2」「△△なら処理3」…というように複数の条件を記述します。 |
| 書式 |
【単一条件の書式①】 If 条件 Then 処理 条件が正しいときに処理を実行し、正しくないときは何もしません。 End IFは不要です。 この書式は1行なので、1つの処理しか指定できません。 【単一条件の書式②】
If 条件 Then
処理
End If
条件が正しいときに処理を実行し、正しくないときは何もしません。 この書式は、処理を複数行に渡って記述できるので、複数の処理を指定できます。 【二値の判定】
If 条件 Then
処理1
Else
処理2
End If
条件が正しいときに処理1を実行し、正しくないときに処理2を実行します。 この書式は、処理を複数行に渡って記述できるので、複数の処理を指定できます。 |
| コード例① |
【単一条件:1行で記述】
Sub Macro1()
Dim num As Integer
num = 10
If num > 5 Then MsgBox "numは5より大きいです"
End Sub
<変数numの値が5より大きい場合> 「numは5より大きいです」のメッセージボックスを表示します。 実行すると、変数numの値は10なので、メッセージボックスが表示されます。 |
| コード例② |
【二値の判定】
Sub Macro2()
Dim num As Integer
num = 3
If num > 5 Then
MsgBox "numは5より大きいです"
Else
MsgBox "numは5以下です"
End If
End Sub
<変数numの値が5より大きい場合> 「numは5より大きいです」のメッセージボックスを表示します。 <変数numの値が5以下の場合> 「numは5以下です」のメッセージボックスを表示します。 実行すると、変数numの値は3なので、「numは5以下です」のメッセージボックスが表示されます。 |
| コード例③ |
【複数条件をAnd演算子で記述】
Sub Macro3()
Dim num As Integer
num = 15
If num >= 10 And num <= 20 Then
MsgBox "numは10以上、20以下です"
End If
End Sub
【Ifステートメントをネストして複数条件(And)を記述】
Sub Macro4()
Dim num As Integer
num = 15
If num >= 10 Then
If num <= 20 Then
MsgBox "numは10以上、20以下です"
End If
End If
End Sub
Macro3は、And演算子を使用して複数条件を判定します。 Macro4は、Ifステートメントをネストして、複数条件を判定します。(ネストとは、1つのFor…Nextステートメントの中に別のFor…Nextステートメントを入れることを指します。) 記述方法は異なりますが、Macro3とMacro4の実行結果は同じです。 <変数numの値が10以上、かつ20以下の場合> 「numは10以上、20以下です」のメッセージボックスを表示します。 実行すると、変数numの値は15なので、メッセージボックスが表示されます。 |
| コード例④ |
【複数条件をOr演算子で記述】
Sub Macro5()
Dim num As Integer
num = 11
If num < 1 Or num > 10 Then
MsgBox "範囲外の数です"
End If
End Sub
【複数のIfステートメントで、複数条件(Or)を記述】
Sub Macro6()
Dim num As Integer
num = 11
If num < 1 Then
MsgBox "範囲外の数です"
End If
If num > 10 Then
MsgBox "範囲外の数です"
End If
End Sub
Macro5は、Or演算子を使用して複数条件を判定します。 Macro6は、複数のIfステートメントで、複数の条件を判定します。 記述方法は異なりますが、Macro5とMacro6の実行結果は同じです。 <変数numの値が1より小さい、または10より大きい場合> 「範囲外の数です」のメッセージボックスを表示します。 実行すると、変数numの値は11なので、メッセージボックスが表示されます。 |
| カテゴリ | ベーシック・スタンダード |