実務でExcelファイルを扱っていると、ワークシートの数が増えていきます。
そうなると、
「ワークシート名の一覧を作成したいのですが...」
といった要望が出てきます。
VBA(Visual Basic for Applications)でマクロをコーディングすれば、シート名の一覧を簡単に作成することができます。
▼シート名の一覧を作成するマクロ
Sub ListSheetsName()
Dim objSheet As Object
Dim intLoop As Integer
intLoop = ActiveCell.Row
For Each objSheet In ActiveWorkbook.Sheets
ActiveWorkbook.ActiveSheet.Cells(intLoop, ActiveCell.Column).Value = objSheet.Name
intLoop = intLoop + 1
Next
End Sub
上記のSubプロシージャを、VBE(Visual Basic Editor)を起動して標準モジュールに貼り付け、リストを作成したいワークシート上でListSheetsNameマクロを実行すると、シート名の一覧が作成されます。
For Each文で「ActiveWorkbook.Sheets」と記述することによって、ワークシート・グラフシートいずれも処理の対象としています。
グラフシート名が不要でワークシート名だけを一覧にしたければ「ActiveWorkbook.Worksheets」に、逆にグラフシート名だけを一覧にするのであれば「ActiveWorkbook.Charts」としてください。
トラックバック:4
- TrackBack URL
- 同じブック内のシートにハイパーリンク−HYPERLINK関数 from インストラクターのネタ帳
- 対象:Excel 関数を使ってハイパーリンクを張る方法をご紹介しました。 この方法を知った方からは、 同じワークブック内の別のワークシートにリンクを張るにはどうすればいいのでしょう? というご質問をいただきます。...
- マクロにショートカットキーを割り当てる−マクロダイアログ from インストラクターのネタ帳
- 対象:Excel 97,2000,2002,2003 これまでこのサイトでいくつかのマクロをご紹介してきました。 ・ワークシート名一覧を作成したい ・非表示シートをまとめて表示したい ・シートを並べ替えたい ・マクロでフリガナをふる 登録したマクロを実行する方法はいろいろあります...
- 別シートへのセル参照をオートフィルで−INDIRECT関数 from インストラクターのネタ帳
- 対象:Excel 97,2000,2002,2003 別のワークシートのセルを参照する方法をご紹介しました。 この方法をご存知の方からは、 「簡単に他の複数のシートのデータを表示させる方法はないのでしょうか?」 「オートフィルを使って他のシートのセルの値を表示できませんか?」 ...
- 不要なワークシートを削除する from インストラクターのネタ帳
- 対象:Excel 97,2000,2002,2003 Excelを使って実務で資料作成をしていると、ワークシートの整理整頓をする処理が必要になることが少なくありません。 このサイトでは、ワークシートの整理に役立つ以下のようなVBAマクロをご紹介してきました。 ・シート名一覧作成マクロ ...
- Newer: 前と同じヘッダー/フッターとは
- Older: ハイパーリンク表示後の色

