シートが存在しているかどうか確認する関数。
タイトルのマクロは、以下です。
この関数は、指定したシート名が既に存在するかどうかを確認し、存在する場合は True を返します。
'*************************
'* シートが存在しているかどうか確認する関数。存在する場合は、Trueを返す
'* shetName:調べたいシート名を指定
'* book:調べたいワークブックを指定
Function ExistSheet(ByVal sheetName As String, ByVal book As Workbook) As Boolean
    Dim ws As Worksheet, flag As Boolean
    ' すべてのワークシートを表す Worksheets コレクションからひとつずつ
    ' Worksheetを取り出して、名前を確認します。
    For Each ws In book.Worksheets
        If ws.Name = sheetName Then flag = True
    Next ws
    
    ExistSheet = flag
End Function- シート名のチェック:
- For Each ws In book.Worksheetsで、すべてのシートをループし、シート名が一致するかどうかを確認します。
- 一致する場合は flagをTrueに設定します。
 
- 結果の返却:
- ExistSheet = flagにより、シートが存在するかどうかの結果を返します。
 
以下が使用例です。
Private Sub 使用例()
    Dim flag As Boolean
    flag = ExistSheet("リスト", ThisWorkbook)
    If flag = True Then
        MsgBox "シート「リスト」があります", vbInformation
    Else
        MsgBox "シート「リスト」はありません", vbInformation
    End If
End Subこのマクロを実行すると、このマクロの入っているブックの中に、シート「リスト」があるかどうか確認し、メッセージボックスで表示されます。



