【VBA】シート名の一覧を取得する方法(Nameプロパティ)
今回はシート名の一覧を取得する方法を紹介します。
ブック内のシート名を一度に取得することができます。
シート名を書き出したいときや、特定のシートだけ処理したいときに活用してみてください。
この記事では↓の内容が分かります。
- マクロブック内のシート名一覧を取得する方法
- シート名一覧をセルに書き出す方法
- アクティブブック内のシート名一覧を取得する方法
マクロブック内のシート名一覧を取得する方法
Sub SheetName_ThisWorkbook()
'''マクロブック内のシート名を書き出す
Dim ws As Worksheet
' 全てのシート名を取得するループ
For Each ws In ThisWorkbook.Sheets
Debug.Print ws.Name
Next
End Sub
このコードを実行すると、全てのシート名が1つずつイミディエイトウィンドウに出力されます。
イミディエイトウィンドウはVBEでCtrl+Gを押すと表示されます。
シート名一覧をセルに書き出す方法
Sub OutputSheetName_ThisWorkbook()
'''マクロブック内のシート名をセルに書き出す
' シート名を出力するセルの行番号
Dim rowNum As Integer
rowNum = 1
' 全てのシート名を取得するループ
For Each ws In ThisWorkbook.Sheets
Cells(rowNum, 1).Value = ws.Name
rowNum = rowNum + 1
Next
End Sub
先ほどのコードはイミディエイトウィンドウに出力しました。
それを少し改変すると、このようにシート名一覧をセルに書き出すことができます。
アクティブブック内のシート名一覧を取得する方法
Sub SheetName_ActiveWorkbook()
'''アクティブブック内のシート名を書き出す
Dim ws As Worksheet
' 全てのシート名を取得するループ
For Each ws In ActiveWorkbook.Sheets
Debug.Print ws.Name
Next
End Sub
ここまでの2つのコードではマクロブック内のシート名を取得しました。
現在アクティブなブックのシート名一覧を取得したいActiveWorkbook.Sheetsへ変更してみてください。