VBAの条件分岐を活用すると、さまざまな業務処理を自動化できます。本記事では、実践的なマクロのサンプルを紹介しながら、条件分岐の活用方法を解説します。
1. 入力値に応じた処理の振り分け
Excelのセルに入力された値に応じて、異なる処理を実行するマクロを作成します。
Sub CheckValue()
Dim val As Integer
val=Range("A1").Value
If val>=80 Then
MsgBox"優秀です!"
ElseIf val>=50 Then
MsgBox"合格です"
Else
MsgBox"再試験が必要です"
End If
End Sub
2. ユーザー入力を判定して処理を分岐
ユーザーが入力したデータを基に、適切な処理を実行するマクロです。
Sub UserInputCheck()
Dim userInput As String
userInput=InputBox("処理を選択してください (A/B/C):")
Select Case userInput
Case "A"
MsgBox"処理Aを実行します"
Case "B"
MsgBox"処理Bを実行します"
Case "C"
MsgBox"処理Cを実行します"
Case Else
MsgBox"無効な入力です"
End Select
End Sub
3. ファイルの有無を判定して処理を分岐
指定したファイルが存在するかどうかを判定し、適切な処理を実行します。
Sub CheckFileExists()
Dim filePath As String
filePath="C:¥test¥sample.xlsx"
If Dir(filePath)<>"" Then
MsgBox"ファイルが見つかりました"
Else
MsgBox"ファイルが存在しません"
End If
End Sub
4. シートの存在チェックと追加処理
指定したシートが存在しない場合、新規作成するマクロです。
Sub CheckAndAddSheet()
Dim ws As Worksheet
Dim sheetName As String
Dim sheetExists As Boolean
sheetName="Report"
sheetExists=False
For Each ws In ThisWorkbook.Sheets
If ws.Name=sheetName Then
sheetExists=True
Exit For
End If
Next ws
If sheetExists Then
MsgBox"シートはすでに存在します"
Else
Sheets.Add(After:=Sheets(Sheets.Count)).Name=sheetName
MsgBox"新しいシートを作成しました"
End If
End Sub
5. まとめ
- 条件分岐を使うことで、柔軟な処理を実装できる
If...ElseIf...Else
とSelect Case
を使い分ける- ファイルやシートの有無を判定することで、エラーを回避できる
実務で役立つVBAマクロを作成する際は、適切な条件分岐を活用しましょう!
コメント