この記事を読むのに必要な時間は約 6 分です。
エクセルのシート名が欲しいけど、シートが多すぎてイヤになったことありませんか?
下図のようにシートが5つなら、まだ許容範囲かもしれません。
でも、シート数が20や30もあったら、シート名を1つずつコピペしていくのはツライですよね・・・。
今回は、コピペして一瞬でシート名の一覧を取得する方法と、非表示のシートを除外して一覧取得する方法を紹介します。
目次(リンク)
VBEのイミディエイトウインドウにシート名を出力する
コピペで簡単にシート名の一覧を取得するには、VBEの画面から行います。
Alt+F11または、開発者タブの一番左にあるVisual Basicボタンから開きます。
下図のような画面が出てきます。
VBE(Visual Basic Editor)は、プログラミングを行う開発環境です。
イミディエイトウインドウは、VBEの中にあるウインドウの1つです。
イミディエイトウインドウを表示する
VBEの画面を表示しても、イミディエイトウインドウが閉じていることもあります。
ショートカットキーならCtrl+G、または表示からイミディエイトウインドウを選択です。
イミディエイトウインドウが表示されました。
横幅など、自分が使いやすい広さに調整できます。
シート名の一覧を、イミディエイトウインドウに出力する
シート名の一覧を表示するには、イミディエイトウインドウに次のコードを1行貼り付けてEnterキーを押すだけです。
1 |
For Each sn In Sheets: ? sn.Name:Next |
下図のように、全シート名が表示されました。
非表示のシートを除外して、シートの一覧を取得するには
エクセルシートの中には、非表示になっているものもあります。
一覧取得するとき、非表示になっているシートはどうなるんでしょうか。
そのままだと、非表示のシートも含まれる
実際にシートを非表示にして、一覧取得してみたいと思います。
まずはシートを右クリックして、非表示を選択します。
この状態で先ほどと同じように、コードを実行します。
非表示にした「シート名4」も取得されました。
プロパティからシートの状態を見てみる
非表示のシートを除外して、一覧取得したいこともあると思います。
まずはシートの状態をそれぞれ見てみましょう。
やり方だけ知りたい場合は読み飛ばしてください。
下図のように、「シート名4」だけ非表示の状態です。
VBEのプロパティでシートの状態を見てみます。
表示されているシートなら、Visibleのところが「-1」になっています。
一方、非表示になっている「シート名4」の場合はどうでしょうか。
右クリックから非表示にした場合、Visibleが「0」(ゼロ)になっています。
非表示のシートを除外して一覧取得する
最初に紹介したコードに分岐を入れて除外します。
シートが表示の場合、Visibleが「-1」になると分かりました。
Select文で、Visibleが「-1」になる場合だけ表示するようにします。
1 |
For Each sn In Sheets: Select Case sn.Visible: Case -1: ? sn.Name: End Select: Next |
このコードを貼り付けて、Enterキーを押します。
非表示のシート「シート名4」が除外されました!!
まとめ:エクセルのシート名一覧を取得する方法
シート名の一覧を取得する方法を紹介しました。
紹介した1行のコードを貼り付けて実行するだけの、とても簡単なやり方です。
エクセルは、見せたくないシートを非表示にすることもあるので、非表示のシートを除外して取得したいこともあるかもしれません。
そんな時は、Select文で分岐させるやり方も今回紹介したので、ぜひ使ってみてもらえればと思います。
最後までお読みいただき、ありがとうございました。