指定の名前のワークシートがなければ作成するマクロ
次の2つのFunctionを組み合わせれば良い。
' 指定の名前のワークシートが存在するかどうか Function isExistingSheetName(sheetname As String) As Boolean Dim ws As Worksheet Dim flag As Boolean '現在のシートを記憶 Set recentSheet = ActiveSheet For Each ws In Worksheets If ws.name = sheetname Then flag = True Next ws '元のシートに戻る recentSheet.Select If flag = True Then isExistingSheetName = True Else isExistingSheetName = False End If End Function '指定の名前のワークシートを作成 Function newWorksheet(name As String) As Boolean Dim ws As Worksheet Set ws = ActiveWorkbook.Sheets.Add ws.name = name newWorksheet = True End Function
例えば
'指定の名前のワークシートがなければ新規作成 SheetName = "hoge" If isExistingSheetName(SheetName) = False Then result = newWorksheet(SheetName) End If