見出し画像

14-シート名の書出し(エクセルマクロ)

1つのファイルで管理されている全てのシート名を書出す

皆さんこんにちは。
1つのエクセルブックで管理するシート数が多いとき、全てのシート名を書きだしたいときってありますよね。そんなときのマクロをご紹介します。

◆やること
「集計ファイル.xlsm」にあるシートの名前を別のファイルに全て書き出す。
書出すファイルのシート名は「Sheet1」で、マクロはこの書出しファイルに書くこととします。
「集計ファイル.xlsm」は開いた状態でマクロを実行します。

◆書くコード

画像1


◆解説

【変数宣言】
①Dim tarSheet As Worksheet
②Dim i As Long

①tarSheet Worksheetオブジェクトですよ。
②i は整数ですよ。

【繰り返し処理】

画像2

を、踏まえて次のコードを書きます。

③For Each tarSheet In Workbooks("集計ファイル.xlsm").Worksheets

③Next

そして、For Each と Next の間に繰返す処理を書きます。

③For Each tarSheet In Workbooks("集計ファイル.xlsm").Worksheets
 ④ThisWorkbook.Worksheets("Sheet1").Range("A" & i).Value = tarSheet.Name
③Next

④:シート「Sheet1」のセルAi に「集計ファイル.xlsm」のシート名を書出すコードです。

ここで、「i」は書込み先のセルの行番号なのでAi セルに書込んだら⑤次の行番号を取得させます。⑥初期値も忘れずに設定する。

⑥i = 1(⑤でいきなり「i」が出てくるのでここで初期値を伝えておく)③For Each tarSheet In Workbooks("集計ファイル.xlsm").Worksheets
 ④ThisWorkbook.Worksheets("Sheet1").Range("A" & i).Value = tarSheet.Name
⑤i = i + 1
③Next

以上です。




この記事が気に入ったらサポートをしてみませんか?