カテゴリ: Excel VBA 更新日: 2026/02/16

Excel VBAのSelect Caseを完全解説!初心者でもわかる条件分岐をスマートに書く方法

Select Caseで条件分岐をスマートに書く方法(書き方と事例付き)
Select Caseで条件分岐をスマートに書く方法(書き方と事例付き)

先生と生徒の会話形式で理解しよう

生徒

「Excel VBAで条件分岐を書いていたら、If文が長くなってしまって、何をしているのか分からなくなりました……」

先生

「それなら Select Case を使うと、条件分岐をすっきり整理できますよ。Excel VBAではよく使われる書き方です。」

生徒

「パソコン操作も苦手なんですが、難しくないですか?」

先生

「信号機の色で動きを変えるような感覚で考えれば、とても分かりやすいですよ。順番に見ていきましょう。」

1. Select Caseとは?Excel VBAの条件分岐を整理する文法

1. Select Caseとは?Excel VBAの条件分岐を整理する文法
1. Select Caseとは?Excel VBAの条件分岐を整理する文法

Excel VBAの Select Case は、条件によって処理を切り替えるための文法です。 条件分岐とは、「ある条件のときはこれをする、別の条件のときは別のことをする」という考え方です。 日常生活でいうと、「雨なら傘を持つ」「晴れなら帽子をかぶる」と判断するのと同じです。

VBAではIf文でも条件分岐ができますが、条件の数が増えるとコードが長くなり、読みづらくなります。 そんなときに活躍するのがSelect Caseです。 Excel VBA初心者でも、条件がはっきり分かれている場合は、Select Caseの方が理解しやすくなります。

2. If文との違いを初心者向けにやさしく解説

2. If文との違いを初心者向けにやさしく解説
2. If文との違いを初心者向けにやさしく解説

If文は、「もし〜なら」という判断を一つずつ書いていく方法です。 条件が少ないときは問題ありませんが、三つ、四つと増えていくと、どこで何を判断しているのか迷いやすくなります。

Select Caseは、「この値がどれに当てはまるか」をまとめて書く方法です。 たとえば、成績がA・B・C・Dのどれかで処理を変えたい場合、Select Caseを使うと一目で分かります。 Excel VBAでの条件分岐を整理したい人にとって、とても便利な書き方です。

3. Select Caseの基本的な書き方【Excel VBA基本文法】

3. 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. 数値の範囲で条件分岐する方法

4. 数値の範囲で条件分岐する方法
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の使い方

5. 文字列で条件分岐するSelect Caseの使い方
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が読みやすくなる理由

6. Select Caseを使うとExcel VBAが読みやすくなる理由
6. Select Caseを使うとExcel VBAが読みやすくなる理由

プログラムは「自分だけが分かればいい」ものではありません。 後から見返したときや、他の人が見るときにも、内容が伝わることが大切です。 Select Caseは、条件と処理の対応関係がはっきり見えるため、読みやすさが大きな特徴です。

Excel VBAで業務を自動化する場合、条件分岐が増えることはよくあります。 そんなとき、Select Caseを使うことで、ミスを減らし、修正もしやすくなります。

7. Select Caseで初心者がつまずきやすいポイント

7. Select Caseで初心者がつまずきやすいポイント
7. Select Caseで初心者がつまずきやすいポイント

Select Caseを使うときに多い間違いは、End Select を書き忘れることです。 また、条件の重なりにも注意が必要です。 上から順番に判断されるため、範囲の書き方を間違えると、意図しない結果になることがあります。

しかし、基本の形を守り、シンプルな条件から書いていけば、Excel VBA初心者でも安心して使えます。 条件分岐を整理する道具として、Select Caseはとても心強い存在です。

8. Select CaseはExcel VBAの基本文法として必須

8. Select CaseはExcel VBAの基本文法として必須
8. Select CaseはExcel VBAの基本文法として必須

Select Caseは、Excel VBAの基本文法の中でも、条件分岐を分かりやすく書くための重要な機能です。 変数と組み合わせることで、状況に応じた処理を自動で切り替えられるようになります。

パソコン操作に慣れていない方でも、「どれに当てはまるか」を選ぶ感覚で理解できるのが特徴です。 Excel VBAで条件分岐を書くなら、ぜひSelect Caseを活用してみてください。

カテゴリの一覧へ
新着記事
New1
Office Scripts
Office Scriptsで日付判定!Excel条件付き書式を自動化して期限管理をラクにする方法
New2
Office Scripts
Office Scripts普及の歴史とMicrosoftの方向性!Excel自動化が進化してきた流れをやさしく解説
New3
Excel VBA
Excel VBA関数を用途別に作成!計算・文字列処理の基本を初心者向けに解説
New4
Office Scripts
Office Scriptsで条件付き書式を自動化!数値変化に応じてExcelの書式を自動更新する方法
人気記事
No.1
Java&Spring記事人気No1
Excel VBA
Excelマクロのセキュリティ設定の基本!安全に実行するための信頼センター設定まとめ
No.2
Java&Spring記事人気No2
Office Scripts
Office Scriptsでできること・できないことを完全整理!Excel自動化の基本と限界をやさしく解説
No.3
Java&Spring記事人気No3
Excel VBA
目的別にモジュールを分割する方法!処理単位で整理して見やすくするテクニック
No.4
Java&Spring記事人気No4
Excel VBA
Excel VBAとOffice Scriptsの違いを比較!初心者でもわかる学ぶべきスキル
No.5
Java&Spring記事人気No5
Excel VBA
Excel VBA基本文法の総まとめ!初心者が必ず押さえるべき20の基礎ポイント完全ガイド
No.6
Java&Spring記事人気No6
Office Scripts
Office Scriptsで条件付き書式を自動化!Excel自動化初心者向けスクリプト操作の基本
No.7
Java&Spring記事人気No7
Excel VBA
Excel VBAの開発環境を最速で整える!VBEの開き方から基本操作まで完全ガイド
No.8
Java&Spring記事人気No8
Excel VBA
Excel VBAの引数の使い方を基礎から理解しよう!ByValとByRefの違いも初心者向けに徹底解説