Excelの複数シート名を「VBA」で一括取得する方法
VBA(マクロ)では複数のシート名を一括で取得することが可能です。
今回のVBAは比較的簡単に実装可能なので、VBAをまだ一度も使ったことがない人でもぜひチャレンジしてみてください。
【コピペ用】シート名取得のVBA
シート名を取得するためのVBAは以下の通りです。
For Each i In ThisWorkbook.Sheets: debug.print i.name : next i
【応用編】Excelのシート名取得を活用したテクニック
Excelのシート名取得は、単にセルに表示するだけでなく、さまざまなテクニックに応用できます。ここでは、シート名取得を活用した二つのテクニックを紹介します。
シート名を使って日付更新
Excelのシート名を日付にすると、そのシートの内容がその日付に関するものだと一目でわかるようになります。たとえば、売上や在庫などのデータを日別に管理する場合などに便利です。
Indirect関数と「データの入力規則」でシート名をセル参照で指定
Excelのシート名取得は、Indirect関数と「データの入力規則」を使って、セル参照で指定できます。Indirect関数は、文字列で指定したセルや範囲の値を返す関数でのこと。「データの入力規則」は、セルに入力できる値や形式を制限する機能のことです。
これらを組み合わせると、あらかじめリスト化されたシート名をドロップダウンリストで選択して、それを基にINDIRECT関数を使って特定のシートの特定のセルの値を取得するという動きが可能です。
この方法は、以下のような手順で行います。
まとめ
Excelでシート名を取得する方法と、その活用テクニックを紹介しました。シート名取得は、関数やVBAを使って簡単にできます。シート名取得を活用すると、セルに表示したり、他のシートやファイルに参照したり、日付や条件に応じて自動更新したりと、便利な使い方がたくさんあります。ぜひ、試してみてください。
文・オトナライフ/提供元・オトナライフ
【関連記事】
・ドコモの「ahamo」がユーザー総取り! プラン乗り換え意向調査で見えた驚愕の真実
・【Amazon】注文した商品が届かないときの対処法を解説!
・COSTCO(コストコ)の会員はどれが一番お得? 種類によっては損する可能性も
・コンビニで自動車税のキャッシュレス払い(クレカ・QRコード決済)はどの方法が一番お得?
・PayPay(ペイペイ)に微妙に余っている残高を使い切るにはどうすればいいの!?