はじめに:状況に応じた処理、できていますか?
お客様の会員ステータスによって対応内容が変わる、請求金額が条件によって割引になる――そんな場面、店舗業務でもよくありました。VBAでも、条件によって処理を変える構文がいくつかあります。
If~Then文の基本形
If 条件 Then
実行する処理
End If
例:
Dim total As Integer
total = 8000
If total >= 10000 Then
MsgBox "割引対象です!"
Else
MsgBox "割引対象外です"
End If
ElseIfで条件を増やす
If 点数 >= 90 Then
MsgBox "A評価"
ElseIf 点数 >= 70 Then
MsgBox "B評価"
Else
MsgBox "C評価"
End If
Select Case文を使うパターン分岐
複数の条件分岐にはSelect Case
が便利です。
Dim grade As String
grade = "S"
Select Case grade
Case "S"
MsgBox "最上級メンバー"
Case "A"
MsgBox "上級メンバー"
Case Else
MsgBox "一般会員"
End Select
小話:条件がないと現場に対応できない
当時、会員ランクによってクーポンの配布内容が違っていて、単純な繰り返しだけでは対応できなかったんです。
If
文やSelect Case
を使って条件に応じた処理を組み込んでから、一気に現場の業務フローがスマートになりました。
おすすめの書き方ポイント
-
If
が増えすぎると読みにくい → 複雑ならSelect Case
に切り替える - インデント(字下げ)をきちんと → 可読性アップ
- 条件文はかならずTrue/Falseが返る書き方にする
次回予告:繰り返し処理で作業を一括自動化しよう!
第7回では、VBAの中でも非常に便利な「繰り返し処理(ループ)」をマスターします。繰り返しの入力、条件付きの反復――現場での活用が一気に広がります!