ここから本文です

Excelのシート名一覧の作り方

mamatyan5さん

2009/5/1213:58:48

Excelのシート名一覧の作り方

Excelの1つのブックにシートが30ほどあります。
そのシート名の一覧を作りたいのですが、一つずつ手打ちするしかないですか?
簡単な方法があったら教えてください。

閲覧数:
117,561
回答数:
2

違反報告

ベストアンサーに選ばれた回答

tmkhboyさん

編集あり2009/5/1214:45:59

こんにちは。

1.VBAを使う

「Alt」+「F11」キーで「VBE」の画面を表示
「Alt」キーを押したまま「I」キー⇒「M」キーの順に押下して「標準モジュール」を挿入
白い画面に

Sub test()
Dim i As Long
For i = 1 To Sheets.Count
Range("A" & i).Value = Worksheets(i).Name
Next i
End Sub

を貼り付け 再び「Alt」+「F11」で通常の画面に戻り

シート名の一覧を作成したいシートで「Alt」+「F8」から
「マクロ」を表示させ「test」を実行


2.「4.0マクロ関数」を使う

上部メニューの「挿入」⇒「名前」⇒「定義」から
名前欄に任意の名前(仮に「シート一覧」)を付けます

参照範囲欄に
=MID(GET.WORKBOOK(1),FIND("]",GET.WORKBOOK(1))+1,31)&T(NOW())

としてOK

シート名を表示したいセルに
=IF(COLUMNS(シート一覧)<ROW(A1),"",INDEX(シート一覧,ROW(A1)))

として下へコピー。


【補足】
上記のVBAはシートを追加した段階では一覧にシート名は追加されません

「4.0マクロ関数」の方はシート枚数より多目に数式をコピーしておくと
シートを追加した時点で一覧にも表示されます。

質問した人からのコメント

2009/5/12 16:57:48

"1.VBAを使う" で出来ました。ありがとうございました。

ベストアンサー以外の回答

1〜1件/1件中

atsnaxさん

2009/5/1214:44:10

セルにシート名を表示する方法であれば、
=RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1)))
ただし、ファイルを一度でも保存していないといけません。

全てのシートを選択(一番右のシートをクリック→SHIFTを押しながら一番左のシートをクリック)して、全てのシートで必要の無いセルに上記式を打ち込みます。
あとはシート選択を解除し、それぞれのシートで今の式を入力したセルを切取り一覧に貼り付けるという方法もあります。
・・・・簡単じゃないですね。

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問や知恵ノートは選択されたID/ニックネームのMy知恵袋で確認できます。