シートが存在しているかどうか確認する関数。
タイトルのマクロは、以下です。
この関数は、指定したシート名が既に存在するかどうかを確認し、存在する場合は 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
このマクロを実行すると、このマクロの入っているブックの中に、シート「リスト」があるかどうか確認し、メッセージボックスで表示されます。