シートの名前一覧を取得

Worksheetの名前一覧を取得して、デバッグ画面に出力します。
Sheetが見つからない際に、追加を行いたい場合は、シート名の確認、無い場合は追加 を参照。

' ファイルを開いてSheet名の一覧を取得する
Sub Sample3()
	Dim idx1 As Integer
	Dim wb As Workbook
	Dim filename As String
	Dim list() As Variant

	filename = "C:\ExcelVBA\Sample.xlsx"

	If IsFileExists(filename) = True Then	' ファイルの有無を確認
		' ブックを開く
		Set wb = Workbooks.Open(filename)

		' Sheetの一覧を取得する
		list = GetSheetList(wb)
		' 取得したSheetの一覧をデバッグ出力
		For idx = 1 To UBound(list)
			'  Sheet名をデバッグ出力
			Debug.Print list(idx)
		Next idx
	End If
End Sub

【関数化】

' ------------------------------------------------------------
' 説明:Sheet名の一覧を取得する
' 引数:1:処理対象のワークブック
' 戻値:シート名の一覧
' ------------------------------------------------------------
Function GetSheetList(wb As Workbook) As Variant
	Dim idx1 As Integer
	Dim list() As Variant

	' Sheet数分のデータ領域を確保
	ReDim list(wb.Sheets.Count)
	' Sheet名の一覧を取得
	For idx1 = 1 To wb.Sheets.Count
		list(idx1) = wb.Sheets(idx1).Name
	Next

	GetSheetList = list
End Function
例:Sample.xlsx の Sheet 一覧を取得する
Debug画面にSheet名を表示

コメント