Excel VBA | VBA 分岐処理関数一覧

Excel VBA VBA
スポンサーリンク

こちらに「分岐処理(If / Select Case / IIf / Switch など)」を活用した実務シナリオ別のサンプルコード集をまとめました。
成績判定・在庫管理・料金区分など、日常業務でよくあるケースを想定しています。


実務シナリオ別サンプルコード集

1. 成績判定(If / ElseIf)

Sub GradeJudge()
    Dim score As Integer
    score = Range("A1").Value
    
    If score >= 90 Then
        MsgBox "評価:優"
    ElseIf score >= 70 Then
        MsgBox "評価:良"
    ElseIf score >= 50 Then
        MsgBox "評価:可"
    Else
        MsgBox "評価:不可"
    End If
End Sub
VB

👉 点数に応じて評価を判定。教育現場や研修評価に利用。


2. 在庫管理(Select Case)

Sub StockCheck()
    Dim stock As Integer
    stock = Range("B1").Value
    
    Select Case stock
        Case Is >= 100
            MsgBox "在庫十分"
        Case 50 To 99
            MsgBox "在庫注意"
        Case 1 To 49
            MsgBox "在庫少ない"
        Case Else
            MsgBox "在庫切れ"
    End Select
End Sub
VB

👉 在庫数に応じてアラートを出す。販売管理や倉庫業務で活用。


3. 料金区分(IIf関数)

Sub FeeCategory()
    Dim age As Integer, fee As String
    age = Range("C1").Value
    
    fee = IIf(age < 13, "子供料金", IIf(age < 65, "大人料金", "シニア料金"))
    MsgBox "料金区分:" & fee
End Sub
VB

👉 年齢に応じて料金区分を自動判定。チケット販売や施設利用で便利。


4. 顧客ランク判定(Switch関数)

Sub CustomerRank()
    Dim sales As Double, rank As String
    sales = Range("D1").Value
    
    rank = Switch( _
        sales >= 1000000, "プラチナ", _
        sales >= 500000, "ゴールド", _
        sales >= 100000, "シルバー", _
        True, "一般")
    
    MsgBox "顧客ランク:" & rank
End Sub
VB

👉 売上金額に応じて顧客ランクを自動付与。CRMや営業管理に活用。


5. ファイル存在チェック(If + Dir関数)

Sub CheckFile()
    Dim filePath As String
    filePath = "C:\Test\sample.xlsx"
    
    If Dir(filePath) <> "" Then
        MsgBox "ファイルあり"
    Else
        MsgBox "ファイルなし"
    End If
End Sub
VB

👉 ファイルの有無で処理を分岐。帳票出力やデータ連携で利用。


✅ まとめ

  • If / ElseIf → 少数条件の判定(成績判定など)
  • Select Case → 範囲や複数条件の整理(在庫管理など)
  • IIf → 簡易的な条件分岐(料金区分など)
  • Switch → 複数条件を一行で表現(顧客ランクなど)

👉 さらに発展させると、「条件に応じてセルの色を変える」「条件に応じて別シートに転記する」といった実務的な応用も可能です。

VBA
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました