Excel VBAのSelect Caseを完全解説!初心者でもわかる条件分岐をスマートに書く方法
生徒
「Excel VBAで条件分岐を書いていたら、If文が長くなってしまって、何をしているのか分からなくなりました……」
先生
「それなら Select Case を使うと、条件分岐をすっきり整理できますよ。Excel VBAではよく使われる書き方です。」
生徒
「パソコン操作も苦手なんですが、難しくないですか?」
先生
「信号機の色で動きを変えるような感覚で考えれば、とても分かりやすいですよ。順番に見ていきましょう。」
1. Select Caseとは?Excel VBAの条件分岐を整理する文法
Excel VBAの Select Case は、条件によって処理を切り替えるための文法です。 条件分岐とは、「ある条件のときはこれをする、別の条件のときは別のことをする」という考え方です。 日常生活でいうと、「雨なら傘を持つ」「晴れなら帽子をかぶる」と判断するのと同じです。
VBAではIf文でも条件分岐ができますが、条件の数が増えるとコードが長くなり、読みづらくなります。 そんなときに活躍するのがSelect Caseです。 Excel VBA初心者でも、条件がはっきり分かれている場合は、Select Caseの方が理解しやすくなります。
2. If文との違いを初心者向けにやさしく解説
If文は、「もし〜なら」という判断を一つずつ書いていく方法です。 条件が少ないときは問題ありませんが、三つ、四つと増えていくと、どこで何を判断しているのか迷いやすくなります。
Select Caseは、「この値がどれに当てはまるか」をまとめて書く方法です。 たとえば、成績がA・B・C・Dのどれかで処理を変えたい場合、Select Caseを使うと一目で分かります。 Excel VBAでの条件分岐を整理したい人にとって、とても便利な書き方です。
3. Select Caseの基本的な書き方【Excel VBA基本文法】
まずは、Select Caseの基本構文を見てみましょう。 形を覚えてしまえば、あとは中身を変えるだけで使えます。
Dim score As Integer
score = 80
Select Case score
Case 90
MsgBox "とても良い成績です"
Case 80
MsgBox "良い成績です"
Case 70
MsgBox "もう少し頑張りましょう"
Case Else
MsgBox "判定できません"
End Select
Select Case のあとに、判断したい値を書きます。 Case の部分で、その値に当てはまる場合の処理を書きます。 Case Else は、どれにも当てはまらなかった場合の処理です。
4. 数値の範囲で条件分岐する方法
Select Caseは、特定の数値だけでなく、「範囲」で条件分岐することもできます。 これはExcel VBA初心者がつまずきやすいポイントなので、しっかり見ておきましょう。
Dim point As Integer
point = 75
Select Case point
Case 90 To 100
MsgBox "評価:A"
Case 80 To 89
MsgBox "評価:B"
Case 70 To 79
MsgBox "評価:C"
Case Else
MsgBox "評価:D"
End Select
To は、「〜から〜まで」という意味です。 テストの点数や年齢など、範囲で判断したいときにとても便利です。
5. 文字列で条件分岐するSelect Caseの使い方
Select Caseは、数字だけでなく文字でも条件分岐できます。 Excel VBAでは、文字の判断もよく使われます。 たとえば、曜日や状態を文字で管理している場合などです。
Dim day As String
day = "月"
Select Case day
Case "月", "火", "水", "木", "金"
MsgBox "平日です"
Case "土", "日"
MsgBox "休日です"
Case Else
MsgBox "曜日が分かりません"
End Select
カンマで区切ることで、複数の条件をまとめて書くことができます。 これにより、コードが短くなり、見やすさも大きく向上します。
6. Select Caseを使うとExcel VBAが読みやすくなる理由
プログラムは「自分だけが分かればいい」ものではありません。 後から見返したときや、他の人が見るときにも、内容が伝わることが大切です。 Select Caseは、条件と処理の対応関係がはっきり見えるため、読みやすさが大きな特徴です。
Excel VBAで業務を自動化する場合、条件分岐が増えることはよくあります。 そんなとき、Select Caseを使うことで、ミスを減らし、修正もしやすくなります。
7. Select Caseで初心者がつまずきやすいポイント
Select Caseを使うときに多い間違いは、End Select を書き忘れることです。 また、条件の重なりにも注意が必要です。 上から順番に判断されるため、範囲の書き方を間違えると、意図しない結果になることがあります。
しかし、基本の形を守り、シンプルな条件から書いていけば、Excel VBA初心者でも安心して使えます。 条件分岐を整理する道具として、Select Caseはとても心強い存在です。
8. Select CaseはExcel VBAの基本文法として必須
Select Caseは、Excel VBAの基本文法の中でも、条件分岐を分かりやすく書くための重要な機能です。 変数と組み合わせることで、状況に応じた処理を自動で切り替えられるようになります。
パソコン操作に慣れていない方でも、「どれに当てはまるか」を選ぶ感覚で理解できるのが特徴です。 Excel VBAで条件分岐を書くなら、ぜひSelect Caseを活用してみてください。