📌

【VBA】ブックに指定したキーワードを含むかシートがあるどうかを調べてない場合は追加するコード

2023/07/13に公開

【VBA】ブックに集計シートがないときに集計シートを追加するコードでは「集計」というシートがない場合にシートを追加しましたが、今回は「集計」というキーワードを含むシートがない場合にシートを追加します。

例えば「集計1」というシートがあれば追加されません。

Function checkSheetName(wb As Workbook, sheetName As String) As Boolean

    Dim ws As Worksheet
    Dim sheetExists As Boolean

    '初期値をFalseに設定
    sheetExists = False

    For Each ws In wb.Sheets
        If InStr(ws.Name, sheetName) > 0 Then
            sheetExists = True
            Exit For
        End If
    Next ws

    If sheetExists Then
        checkSheetName = True
    Else
        checkSheetName = False
    End If

End Function
InStr(ws.Name, sheetName)

第一引数(ws.Name)の文字列に第二引数(sheetName)の文字列が含まれる個数を返します。

1 or 0で判別することが多く、今回は1であれば「集計」っぽいシートと判別します。

使い方

Sub test()

    If checkSheetName(ThisWorkbook, "集計") Then
        MsgBox "集計シートあり"
    Else
        MsgBox "集計シートがないので追加します。"
        Worksheets.Add before:=Worksheets(1)
        ActiveSheet.Name = "集計"
    End If
    
End Sub

集計シートがない場合は先頭に集計シートに追加します。

集計処理の途中にこのコードを差し込んでみてください。

【VBA】ブックに集計シートがないときに集計シートを追加するコードは完全一致、今回は不完全一致です。

Discussion