Sub TEST1()
'シート一覧を取得
For i = 1 To Sheets.Count
Debug.Print Sheets(i).Name
Next
End Sub
では、実行してみます。
シート一覧を取得
シート一覧を取得してみます。
実行すると、シート一覧を取得できます。
シート一覧を取得できました。
「For Each」でループしてシート名を取得
「For Each」を使う方法で、シートをループして、シート名の一覧を取得することもできます。
Sub TEST2()
Dim A
'シート一覧を取得
For Each A In Sheets
Debug.Print A.Name
Next
End Sub
では、実行してみます。
「For Each」を使ってシート一覧を取得
「For Each」を使って、シート一覧を取得してみます。
実行すると、シート一覧を取得できます。
シート一覧を取得できました。
シート名の一覧を配列に入力
シート名の一覧を配列に入力してみます。
配列に入力できれば、編集や加工がやりやすくなるので、便利です。
配列にシート名を格納する
配列にシート名の一覧を格納してみます。
シート数と同じサイズの配列を作成
シートをループしてシート一覧を配列に格納
という手順になります。
VBAコードは、次のようになります。
Sub TEST3()
Dim A
'シート数分の配列を作成
ReDim A(1 To Sheets.Count)
'シート一覧を配列に格納
For i = 1 To Sheets.Count
A(i) = Sheets(i).Name
Next
End Sub
では、実行してみます。
シート一覧を配列に格納
シート一覧を配列に格納してみます。
実行すると、シート一覧を配列に格納できます。
シート一覧を配列に格納できました。
新規シートを追加してシート名を入力
新規シートを追加して、シート名の一覧を入力してみます。
シート一覧を配列に格納
シートを追加
シート名を変更
新規シートに配列を入力
という手順になります。
VBAコードは、次のようになります。
Sub TEST4()
Dim A
'シート数分だけ配列を作成
ReDim A(1 To Sheets.Count)
'シート一覧を配列に格納
For i = 1 To Sheets.Count
A(i) = Sheets(i).Name
Next
'シートを作成
Sheets.Add before:=Sheets(1)
ActiveSheet.Name = "シート一覧" 'シート名を変更'追加したシートに、シート一覧を入力
Range("A1").Resize(UBound(A)) = WorksheetFunction.Transpose(A)
End Sub