VBAの条件分岐を活用した実践的なマクロ作成(サンプル付き)

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...ElseSelect Case を使い分ける
  • ファイルやシートの有無を判定することで、エラーを回避できる

実務で役立つVBAマクロを作成する際は、適切な条件分岐を活用しましょう!

コメント

タイトルとURLをコピーしました