
Excel VBA Select Caseステートメントは、特定の変数や式の値に基づいて、複数の条件の中から一つを選択し、対応するコードブロックを実行するために使用します。これは、`If...Then...Else`文の複雑なネストを避け、コードを読みやすくするために有用です。具体的な使い方や、注意点やサンプルコードを紹介します。
Excel VBAの資格でキャリアアップ!
就活や転職で有利になるVBAエキスパート資格を解説!
👉 VBAエキスパート資格のメリットを詳しく知る
Excel VBA Select Caseを利用
以下のようなシーンで利用されます。
・変数の値に応じて異なる処理を行う。
・複数の条件を簡潔に表現したい場合。
・例外処理をまとめて行う。
Excel VBA Select Caseを利用|使い方とポイント
Select Case 式
Case 値1
' 値1に対応する処理
Case 値2
' 値2に対応する処理
Case Else
' それ以外の値に対応する処理
End Select
・式 判定する変数や式
・値 判定したい具体的な値や条件
・Caseの後に続く値は、定数、式、または範囲で指定できます。
・Case Elseは、省略可能です。指定すると条件に一致しない場合の処理を定義できます。
・複数の値をカンマで区切って一つの Caseにまとめることができます。
Excel VBA Select Caseのサンプルコード
Excel VBAの資格でキャリアアップ!
就活や転職で有利になるVBAエキスパート資格を解説!
👉 VBAエキスパート資格のメリットを詳しく知る
Option Explicit
Sub SelectCaseExample()
Dim score As Integer
score = InputBox("点数を入力してください:")
Select Case score
Case Is >= 90
MsgBox "成績: A"
Case Is >= 80
MsgBox "成績: B"
Case Is >= 70
MsgBox "成績: C"
Case Is >= 60
MsgBox "成績: D"
Case Else
MsgBox "成績: F"
End Select
End Sub
特定の文字列に応じてメッセージを表示する例
Option Explicit
Sub SelectCaseStringExample()
Dim dayOfWeek As String
dayOfWeek = InputBox("曜日を入力してください:")
Select Case dayOfWeek
Case "月曜日", "火曜日", "水曜日", "木曜日", "金曜日"
MsgBox "平日です。"
Case "土曜日", "日曜日"
MsgBox "週末です。"
Case Else
MsgBox "無効な曜日です。"
End Select
End Sub
「業務改善を進めたいけれど、何から始めたらいいのかわからない…」とお困りの皆様。時間を有効活用したいが、その方法に戸惑っていませんか?
本サイト参考:Excelマクロを活用することで、業務課題の解決方法について知りたい!おすすめの記事
複雑条件で処理を分ける例
Option Explicit
Sub SelectCaseComplexExample()
Dim number As Integer
number = InputBox("数字を入力してください:")
Select Case number
Case 1 To 10
MsgBox "1から10の範囲内です。"
Case 11, 13, 15
MsgBox "11, 13, 15のいずれかです。"
Case Is > 20
MsgBox "20より大きい数です。"
Case Else
MsgBox "範囲外の数です。"
End Select
End Sub
・複雑の条件分岐を簡潔に表現したい場合に特に有効です。
・If...Then...Else文が複雑になりすぎる場合に、Select Caseを使うことでコードの可読性が向上します。
・Case Elseを使って例外処理を行うと、予期しない値が入った場合でも適切に対処できます。
Select Caseステートメントの基本的な使い方とその応用方法を理解し、条件分岐の処理を簡潔に記述できるようになります。
Excel VBAの資格でキャリアアップ!
就活や転職で有利になるVBAエキスパート資格を解説!