Elseの概要
条件が満たされなかった場合の処理を指定する VBAの予約語 | ||
Else 概要 Else ステートメントは、VBAの条件分岐( わかりやすく説明 指定した条件に当てはまらない場合の処理を記述する命令。 |
||
|
Elseを使った基本的な条件分岐
以下の例では、If ... Then ... Else
を使って、変数の値に応じたメッセージを表示します。
Sub TestElse()
Dim score As Integer
score = 70
If score >= 80 Then
MsgBox "合格"
Else
MsgBox "不合格"
End If
End Sub
解説:
If score >= 80 Then
: もしscore
が80以上なら「合格」と表示。Else
: 80未満の場合は「不合格」と表示。
ElseIfと組み合わせた条件分岐
ElseIf を使うことで、複数の条件を指定できます。
Sub TestElseIf()
Dim score As Integer
score = 70
If score >= 90 Then
MsgBox "優秀"
ElseIf score >= 80 Then
MsgBox "合格"
Else
MsgBox "不合格"
End If
End Sub
解説:
- 90点以上なら「優秀」。
- 80点以上なら「合格」。
- それ以外は「不合格」。
Excel VBAでのElseの活用
Excelのセルの値を条件分岐でチェックする例です。
Sub CheckCellValue()
Dim cellValue As Double
cellValue = Range("A1").Value
If cellValue > 100 Then
MsgBox "100より大きい"
Else
MsgBox "100以下"
End If
End Sub
解説:
- セルA1の値が100より大きいかどうかを判定。
- 100を超える場合とそれ以外で異なるメッセージを表示。
Elseの注意事項
- Else は単独で使えない: 必ず
If
と組み合わせて使用する。 - 条件の順番に注意: ElseIf を使う場合は、最も厳しい条件を最初に記述する。
- 条件が多い場合は Select Case を検討: If Else が多くなると可読性が低下するため、
Select Case
で書くほうが適していることがある。
よくある質問
- Q: Else のあとに条件を書くことはできますか?
- A: いいえ。Else のあとに条件を指定することはできません。条件を追加する場合は ElseIf を使います。
- Q: Else を省略できますか?
- A: はい。Else を省略すると、指定された条件以外は何も実行されません。
- Q: Else を使うべきケースは?
- A: すべてのケースを網羅する条件分岐が必要な場合に使うと便利です。
まとめ
- Else は If 文の条件に当てはまらなかった場合の処理を指定する。
- ElseIf と組み合わせることで、より詳細な条件分岐が可能。
- Excel VBAの値チェックやエラーハンドリングに役立つ。
- 複雑な条件分岐には
Select Case
を検討する。