こちらに「分岐処理(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 → 複数条件を一行で表現(顧客ランクなど)
👉 さらに発展させると、「条件に応じてセルの色を変える」「条件に応じて別シートに転記する」といった実務的な応用も可能です。
