「Excel VBAで条件によって処理を分けたいけど、どう書けばいいの?」
プログラムでの条件分岐は、効率的なコードを書くための重要なスキルです。この記事では、初心者の方でも理解しやすいように、If Then Elseステートメントの基本と活用方法を実例とともに詳しく解説します!
インプレス
¥2,288 (2024/12/20 13:08時点 | Amazon調べ)
ポチップ
1. If Then Elseステートメントとは?
If Then Elseステートメントは、指定した条件に応じて実行する処理を切り替えるための構文です。プログラムに条件分岐を追加することで、より柔軟で効率的なコードを書くことができます。
2. 基本的な構文
以下は、If Then Elseステートメントの基本的な構文です:
1 2 3 4 5 |
If 条件式 Then 処理1 Else 処理2 End If |
例: 基本的な条件分岐
1 2 3 4 5 6 7 8 9 10 |
Sub SimpleIfThenElse() Dim score As Integer score = InputBox("点数を入力してください(0~100)") If score >= 50 Then MsgBox "合格です!", vbInformation, "結果" Else MsgBox "不合格です…", vbExclamation, "結果" End If End Sub |
このコードでは、入力した点数が50以上なら「合格」、それ以外は「不合格」と表示されます。
3. ElseIfを使った複数条件分岐
複数の条件を判定する場合には、ElseIfを使用します。
1 2 3 4 5 6 7 |
If 条件式1 Then 処理1 ElseIf 条件式2 Then 処理2 Else 処理3 End If |
例: 複数条件の判定
1 2 3 4 5 6 7 8 9 10 11 12 |
Sub MultipleConditions() Dim score As Integer score = InputBox("点数を入力してください(0~100)") If score >= 80 Then MsgBox "優秀です!", vbInformation, "結果" ElseIf score >= 50 Then MsgBox "合格です!", vbInformation, "結果" Else MsgBox "不合格です…", vbExclamation, "結果" End If End Sub |
4. 条件分岐をネストする
条件の中にさらに条件を追加する「ネスト」を行うと、より複雑な分岐が可能になります。
1 2 3 4 5 6 7 8 9 |
If 条件式1 Then If 条件式2 Then 処理1 Else 処理2 End If Else 処理3 End If |
例: 条件のネスト
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Sub NestedConditions() Dim score As Integer Dim attendance As Double score = InputBox("点数を入力してください(0~100)") attendance = InputBox("出席率を入力してください(0~100)") If score >= 50 Then If attendance >= 70 Then MsgBox "合格です!", vbInformation, "結果" Else MsgBox "出席率が足りません…", vbExclamation, "結果" End If Else MsgBox "不合格です…", vbExclamation, "結果" End If End Sub |
5. Select Caseとの比較
複数の条件を判定する場合、Select Caseを使うとコードが読みやすくなる場合もあります。以下は比較例です:
Select Caseの例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Sub SelectCaseExample() Dim grade As String grade = InputBox("学年を入力してください(1~3年)") Select Case grade Case "1" MsgBox "1年生です", vbInformation Case "2" MsgBox "2年生です", vbInformation Case "3" MsgBox "3年生です", vbInformation Case Else MsgBox "無効な入力です", vbExclamation End Select End Sub |
6. 効率的な条件分岐を書くポイント
- 条件式を簡潔にする
複雑な条件式は変数を使って整理しましょう。 - ネストの深さを減らす
深いネストはコードの可読性を下げるので、可能な場合は条件を分割します。 - Select Caseの活用
複数の条件がある場合は、If文よりもSelect Caseの方が分かりやすいことがあります。
まとめ
If Then Elseステートメントは、Excel VBAでの条件分岐に欠かせない基本構文です。この記事で紹介した内容を活用して、効率的で分かりやすいコードを作成しましょう!
インプレス
¥2,288 (2024/12/20 13:08時点 | Amazon調べ)
ポチップ
コメント