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