Excelの複数シート名を「VBA」で一括取得する方法

VBA(マクロ)では複数のシート名を一括で取得することが可能です。

今回のVBAは比較的簡単に実装可能なので、VBAをまだ一度も使ったことがない人でもぜひチャレンジしてみてください。

【コピペで簡単】Excelで「シート名」を取得する方法!関数/VBAを使った手順
(画像=【1】VBAを起動するため、Alt + F11キーを押すか、開発タブからVisual Basicをクリックします。表示のタブの中にイミディエイトウィンドウがあるので、クリックします。、『オトナライフ』より引用)
【コピペで簡単】Excelで「シート名」を取得する方法!関数/VBAを使った手順
(画像=【2】上の画像のように、画面下にウィンドウが表示されます。ここに「For Each i In ThisWorkbook.Sheets: debug.print i.name : next i」をコピー&ペーストし、Enterキーを押すと、下にシート名の一覧が表示されます。、『オトナライフ』より引用)
【コピペで簡単】Excelで「シート名」を取得する方法!関数/VBAを使った手順
(画像=【3】表示されたシート名一覧をコピーし、セルに貼り付けすれば完了です。、『オトナライフ』より引用)

【コピペ用】シート名取得のVBA

シート名を取得するためのVBAは以下の通りです。

For Each i In ThisWorkbook.Sheets: debug.print i.name : next i

【応用編】Excelのシート名取得を活用したテクニック

Excelのシート名取得は、単にセルに表示するだけでなく、さまざまなテクニックに応用できます。ここでは、シート名取得を活用した二つのテクニックを紹介します。

シート名を使って日付更新

Excelのシート名を日付にすると、そのシートの内容がその日付に関するものだと一目でわかるようになります。たとえば、売上や在庫などのデータを日別に管理する場合などに便利です。

【コピペで簡単】Excelで「シート名」を取得する方法!関数/VBAを使った手順
(画像=【1】まずは、シート名を日付に変更します。ここではシート名を月日の数字の羅列(例:0101)とします。、『オトナライフ』より引用)
【コピペで簡単】Excelで「シート名」を取得する方法!関数/VBAを使った手順
(画像=【2】続いて、日付を表示したいセルを選択し、「=TEXT(2023&RIGHT(CELL(“filename”,B2),LEN(CELL(“filename”,B2))-FIND(“]”,CELL(“filename”,B2))),”0000!/00!/00″)」と入力すると、2023/1/1と表示されました。、『オトナライフ』より引用)

Indirect関数と「データの入力規則」でシート名をセル参照で指定

Excelのシート名取得は、Indirect関数と「データの入力規則」を使って、セル参照で指定できます。Indirect関数は、文字列で指定したセルや範囲の値を返す関数でのこと。「データの入力規則」は、セルに入力できる値や形式を制限する機能のことです。

これらを組み合わせると、あらかじめリスト化されたシート名をドロップダウンリストで選択して、それを基にINDIRECT関数を使って特定のシートの特定のセルの値を取得するという動きが可能です。

この方法は、以下のような手順で行います。

【コピペで簡単】Excelで「シート名」を取得する方法!関数/VBAを使った手順
(画像=【1】セルに「シート名」を入力します。つまり、注意点としてこの方法では事前に「シート名」をまとめておく必要があります。、『オトナライフ』より引用)
【コピペで簡単】Excelで「シート名」を取得する方法!関数/VBAを使った手順
(画像=【2】ドロップダウンリストを作成したいセルを選択し、「データ」タブを開き、「データの入力規則」をクリックします。、『オトナライフ』より引用)
【コピペで簡単】Excelで「シート名」を取得する方法!関数/VBAを使った手順
(画像=【3】「設定」タブを開き、「入力値の種類(A)」から「リスト」を選択、「元の値(S)」に「=(シート名を入れた範囲)」を入力します。設定が完了したら「OK」をクリックします。、『オトナライフ』より引用)
【コピペで簡単】Excelで「シート名」を取得する方法!関数/VBAを使った手順
(画像=【4】結果を表示させたいセルを選択し、「=INDIRECT(C2&”!C10″)」と入力します。(指定したシートから取得したい値が『セルC10』にある場合)、『オトナライフ』より引用)
【コピペで簡単】Excelで「シート名」を取得する方法!関数/VBAを使った手順
(画像=【5】セルC2のリストからシート名を選択すると、参照先のシートの指定したセルの値が表示されます。、『オトナライフ』より引用)

まとめ

Excelでシート名を取得する方法と、その活用テクニックを紹介しました。シート名取得は、関数やVBAを使って簡単にできます。シート名取得を活用すると、セルに表示したり、他のシートやファイルに参照したり、日付や条件に応じて自動更新したりと、便利な使い方がたくさんあります。ぜひ、試してみてください。

文・オトナライフ/提供元・オトナライフ

【関連記事】
ドコモの「ahamo」がユーザー総取り! プラン乗り換え意向調査で見えた驚愕の真実
【Amazon】注文した商品が届かないときの対処法を解説!
COSTCO(コストコ)の会員はどれが一番お得? 種類によっては損する可能性も
コンビニで自動車税のキャッシュレス払い(クレカ・QRコード決済)はどの方法が一番お得?
PayPay(ペイペイ)に微妙に余っている残高を使い切るにはどうすればいいの!?