ElseIfの概要
複数の条件を指定し、条件に応じた処理を実行する VBAの予約語 | ||
ElseIf 概要 ElseIf ステートメントは、VBAの条件分岐( わかりやすく説明 条件を複数設定し、それぞれの条件に応じた処理を行う命令。 |
||
|
ElseIfを使った基本的な条件分岐
以下の例では、数値の範囲に応じて異なるメッセージを表示します。
Sub TestElseIf()
Dim score As Integer
score = 70
If score >= 90 Then
MsgBox "優秀"
ElseIf score >= 80 Then
MsgBox "合格"
ElseIf score >= 60 Then
MsgBox "補習"
Else
MsgBox "不合格"
End If
End Sub
解説:
If score >= 90 Then
: 90点以上なら「優秀」と表示。ElseIf score >= 80 Then
: 80点以上なら「合格」。ElseIf score >= 60 Then
: 60点以上なら「補習」。Else
: それ以外なら「不合格」。
Excel VBAでのElseIfの活用
Excelのセルの値を条件分岐で処理する例です。
Sub CheckCellValue()
Dim cellValue As Double
cellValue = Range("A1").Value
If cellValue > 100 Then
MsgBox "100より大きい"
ElseIf cellValue = 100 Then
MsgBox "ちょうど100"
Else
MsgBox "100未満"
End If
End Sub
解説:
- セルA1の値を取得し、条件に応じたメッセージを表示。
- 100より大きい場合、100ちょうどの場合、100未満の場合で異なる処理を実行。
ElseIfの注意事項
- ElseIf は単独では使えない: 必ず
If ... Then
とセットで使う。 - 条件の順番に注意: より厳しい条件を先に記述する。
- 複雑な条件分岐には Select Case を検討: If ElseIf が多くなると可読性が低下するため、
Select Case
を使うほうが適していることがある。
よくある質問
- Q: ElseIf は何回でも使えますか?
- A: はい。必要なだけ ElseIf を使うことができます。
- Q: ElseIf の後に複数の条件を指定できますか?
- A: はい。
ElseIf (x > 10) And (y < 5) Then
のように論理演算子を使うことができます。 - Q: Else を省略できますか?
- A: はい。Else を書かなければ、どの条件にも当てはまらない場合は何も実行されません。
まとめ
- ElseIf は If 文の中で複数の条件を指定し、それぞれ異なる処理を行うために使う。
- Excel VBAのデータチェックや値の分類に便利。
- 条件の順番を適切に設定し、無駄な処理を避ける。
- 条件が多すぎる場合は
Select Case
の使用も検討する。