Excelブックにある全てのワークシート名を取得する方法を説明します。
シート名を取得する。
ワークシート名はNameプロパティを利用して取得可能です。
具体的には、ブック内の3番目のシート名を取得する場合は次のようにします。
変数=Worksheets(3).Name
コードを実行して確認します。
この下のエクセルファイルの3番目のシート(Sheet3)の名前を取得します。
コード
Sub nameget()
Dim wsName As String
wsName = Worksheets(3).Name
MsgBox (wsName)
End Sub
動作結果
3番目のシート名”Sheet3″を取得できました。
全てのシート名を取得する
Nameプロパティを利用してエクセルブック内のシート名をすべて取得する方法です。
Sub 名前を全て取得する()
Dim wsName() As String
Dim wsNum As Long: wsNum = 0
Dim ws As Worksheet
Dim i As Long: i = 1
Dim allName As String
For Each ws In Worksheets
wsNum = wsNum + 1
Next
ReDim wsName(1 To wsNum, 1 To 1)
For Each ws In Worksheets
wsName(i, 1) = ws.Name
i = i + 1
Next
For i = 1 To wsNum ’以下は取得した名前を表示させるための部分
If i = 1 Then
allName = wsName(i, 1)
Else
allName = allName & vbCrLf & wsName(i, 1)
End If
Next
MsgBox allName
End Sub
このコードでは最初にワークシート数を数え、シート数に応じた配列を再定義し、そこに取得した名前を格納しています。
非表示になっているシートの名前も取得できます。
コメント