EXCEL VBA 指定したワークシート名が存在するか確認
サンプル
Public Sub sample() Debug.Print pniblnIsExsistWorksheet("Sheet1") 'TRUE Debug.Print pniblnIsExsistWorksheet("BOOK1") 'FALSE Debug.Print pniblnIsExsistWorksheet("Sheet2",True) 'TRUE(Sheet2は非表示のシート) Debug.Print pniblnIsExsistWorksheet("Sheet2",False) 'FALSE(Sheet2は非表示のシート) End Sub
' ' 指定したワークシート名が存在するか確認 ' 'ByVal pstrWorksheetname As String 検索したいシート名 'Optional ByVal pbln非表示シートを含む As Boolean = True ' 'https://pgbigoroku.hatenablog.com/entry/2022/07/28/105756 '2022/8/15 公開 '2022/8/18 pbln非表示シートを含む追加 Public Function pniblnIsExsistWorksheet(ByVal pstrWorksheetname As String, _ Optional ByVal pbln非表示シートを含む As Boolean = True) As Boolean Dim shtTarget As Worksheet For Each shtTarget In ActiveWorkbook.Sheets If shtTarget.Name = pstrWorksheetname Then If shtTarget.Visible = True Then pniblnIsExsistWorksheet = True Exit Function Else If pbln非表示シートを含む = True Then pniblnIsExsistWorksheet = True Exit Function Else pniblnIsExsistWorksheet = False Exit Function End If End If End If Next pniblnIsExsistWorksheet = False End Function