あなたはエクセルで膨大なシート名をリスト化するのが面倒だと思ったことはありませんか?
例えば、iPadでエクセルを使ってアンケートを入力しているとします。1ユーザー1シートで入力したとき、その集計で、シート別に入力したものの内容をまとめるのが必要です。そのときに、まずシート名をリスト化したい事があると思います。
シート名を1つずつ手作業でコピペするのは面倒ですよね。
1000件とかあると手作業なんてありえません。
エクセルVBAを使えば、シート名はボタン1つでリスト化できます。
今回は「エクセルでシート名を抽出してリスト化するマクロを作る方法」を紹介します。
エクセルでシート名を抽出してリスト化するマクロを作る方法
エクセルでシート名を抽出してリスト化するマクロを作る方法です。
下の画像のように、シートを複数用意しました。50個くらいあります。
マクロを作るときは、「開発」タブを使います。
開発タブが出ていない方は、下のリンクで出し方を紹介していますので、まずは準備をお願いします。
→エクセルで開発タブを表示する方法
1.「開発」タブをクリック →「挿入」をクリック →「ボタン」をクリック
2.「新規作成」をクリック
3.コード入力画面が開く
4.コードを入力
コードを入力します。
新しいシート(シートリスト)を作成して、各シート名を縦方向にリスト化する、という意味です。
赤枠部のコードです。
Dim ws As Worksheet
Dim sheetName As String
Dim cell As Range
Dim targetCell As Range
Dim newListSheet As Worksheet
' 新しいシートを作成
Set newListSheet = Sheets.Add(After:=Sheets(Sheets.Count))
newListSheet.Name = "シートリスト"
' A2セルを開始セルとして指定
Set targetCell = newListSheet.Range("A2")
' 既存のリストをクリア
targetCell.CurrentRegion.Clear
' 各シート名をリストに追加
For Each ws In ThisWorkbook.Sheets
sheetName = ws.Name
Set cell = targetCell.Offset(targetCell.CurrentRegion.Rows.Count, 0)
cell.Value = sheetName
Next ws
コードを入力したら、コードの入力画面を閉じて下さい。
5.ボタンができた →範囲を選択 →ボタンをクリック
ボタンができました。
ボタンをクリックします。
6.シート名がリスト化された
「シートリスト」のシートができて、シート名がリスト化されました。
Sheet00とか、Sheet14(2)とか、手入力でシート名変更した分も、きちんとリスト化されています。
これで何枚シートがあるかもわかるし、その右側に各シートのデータの抜き出しもしやすくなります。
まとめ
エクセルでシート名を抽出してリスト化するマクロを作る方法です。
1.「開発」タブをクリック →「挿入」をクリック →「ボタン」をクリック
2.新規作成をクリック
3.コードを入れる画面が出る
4.コードを入力
5.ボタンができた →ボタンをクリック
6.シート名がリスト化された
これで、たくさんのシートがあっても、リスト化や集計が素早くできますね!
シート名以外にも、フォルダ名をリスト化したいときもありますよね。
下のリンク先で、フォルダ名をリスト化する方法も紹介していますので、参考にどうぞ。
→エクセルでフォルダー内のフォルダーリストをシートに書き出すマクロボタンを作る方法
シートのリスト化以外にも、そもそもエクセル内のデータを抽出してリスト化したいときもありますよね。
名簿の抽出や、TO DOリストの抽出など。
エクセルでチェックしたところだけを抽出する方法を紹介していますので、下のリンク先へどうぞ。
ファイル名の一覧をリストにしたいときもありますよね。
フォルダに入ったファイル名をリスト化する方法を下のリンク先で紹介しています。
ファイル名のリストを作りたい方はどうぞ。
コメント