メインコンテンツへスキップ

Excelでワークシート名の動的リストを作成するにはどうすればよいですか?

ブックに複数のシートがあり、ブックの新しいシートにすべてのシート名の動的リストを作成する場合、どうすればよいですか? このチュートリアルでは、Excelでこのミッションをすばやく完了するためのいくつかの秘訣を紹介します。

名前と式の定義を使用してワークシート名の動的リストを作成します

VBAコードを使用してワークシート名の動的リストを作成する

Kutools forExcelを使用してワークシート名の動的リストを作成する 良いアイデア3

Kutools forExcelでワークシート名の動的リストを表示する 良いアイデア3


1.空白のシートでセルを選択します。ここでは、A1を選択して、[ > 名前を定義する。 スクリーンショットを参照してください:
ドキュメント動的ワークシート名リスト-1

2.次に、 新しい名前 ダイアログ、タイプ シート 名前 テキストボックス(必要に応じて変更できます)を入力し、この数式を入力します = SUBSTITUTE(GET.WORKBOOK(1)、 "["&GET.WORKBOOK(16)& "]"、 "") テキストボックスを参照します。 スクリーンショットを参照してください:
ドキュメント動的ワークシート名リスト-2

3。 クリック OK。 選択したセル(A1)に移動し、この数式を入力します = INDEX(Sheets、ROWS($ A $ 1:$ A1)) (A1はこの数式を入力するセルで、「シート」は手順2で定義した名前です)次に、オートフィルハンドルを#REFまで下にドラッグします。 が表示されます。
ドキュメント動的ワークシート名リスト-3

先端:削除または追加されたワークシートがある場合は、A1に移動し、Enterキーを押してから、オートフィルハンドルをもう一度ドラッグする必要があります。
ドキュメント動的ワークシート名リスト-4


各シートにリンクできるワークシート名の動的リストを作成する場合は、VBAコードを使用できます。

1.新しいワークシートを作成し、名前をIndexに変更します。 スクリーンショットを参照してください:

ドキュメント動的ワークシート名リスト-5       ドキュメント動的ワークシート名リスト-6

2.インデックスのシート名を右クリックし、を選択します コードを表示 コンテキストメニューから。 スクリーンショットを参照してください:
ドキュメント動的ワークシート名リスト-7

3.ポップウィンドウで、以下のVBAコードをコピーして貼り付けます。

VBA:ワークシート名の動的リストを作成します。

Private Sub Worksheet_Activate()
	'Updateby20150305
	Dim xSheet As Worksheet
	Dim xRow As Integer
	Dim calcState As Long
	Dim scrUpdateState As Long
	Application.ScreenUpdating = False
	xRow                       = 1
	With Me
		.Columns(1).ClearContents
		.Cells(1, 1) = "INDEX"
		.Cells(1, 1).Name = "Index"
	End With
	For Each xSheet In Application.Worksheets
		If xSheet.Name <> Me.Name Then
			xRow                     = xRow + 1
			With xSheet
				.Range("A1").Name = "Start_" & xSheet.Index
				.Hyperlinks.Add anchor: = .Range("A1"), Address: = "", _
				SubAddress:             = "Index", TextToDisplay: = "Back to Index"
			End With
			Me.Hyperlinks.Add anchor: = Me.Cells(xRow, 1), Address: = "", _
			SubAddress: = "Start_" & xSheet.Index, TextToDisplay: = xSheet.Name
		End If
	Next
	Application.ScreenUpdating = True
End Sub

4。 クリック ラン or F5 VBAを実行するために、ワークシート名の動的リストが作成されます。
ドキュメント動的ワークシート名リスト-8

ヒント:

1.ブックのワークシートを削除または挿入すると、ワークシート名リストが自動的に変更されます。

2.名前リストのシート名をクリックして、シートに移動できます。

上記のXNUMXつの方法では十分に便利ではありません。新しいユーティリティに興味がある場合は、次のXNUMXつの方法に進むと、このタスクがより簡単になります。


 ブックのすべてのワークシート名をすばやく一覧表示し、それらを元のシートにリンクするだけの場合は、次を使用できます。 Kutools for Excelさん シート名のリストを作成する.

Kutools for Excel, 以上で 300 便利な機能は、あなたの仕事をより簡単にします。 

無料インストール Kutools for Excel、以下のようにしてください:

1。 クリック クツールズプラス > ワークシート > シート名のリストを作成する。 スクリーンショットを参照してください:

doc動的ワークシート名17

2。 の中に シート名のリストを作成する ダイアログ:

 doc動的ワークシート名リスト2
(1)必要なインデックススタイルを確認します シートインデックススタイル セクション;
(2)データを入力して新しいインデックスシートに名前を付けます シートインデックスのシート名を指定します テキストボックス;
(3)追加したインデックスシートを配置する場所を シートインデックスをに挿入します リスト。
(4)シート名を1つのリストに表示する場合は、でXNUMX列を選択します。 シートインデックスの表示 リスト。

3。 クリック Ok。 これで、シート名が一覧表示されていることがわかります。
dockutoolsはシートのリストを作成します3

ヒント:

1.シート名をクリックすると、元のシートにすばやく移動できます。

2.リストまたはシート名は、シートの挿入または削除によって動的に変更することはできません。

3.実際には、関連するシートをリンクするボタンのリストを作成することもできます。確認するだけです。 ボタンとマクロが含まれています ダイアログで。 screeshshotを参照してください:
dockutoolsはシートのリストを作成します4

シート名のリストの作成の詳細については、ここをクリックしてください。


あなたがいる場合 Kutools for Excel、使用することもできます ナビゲーション リンク可能なワークシート名をペインに表示するユーティリティ

無料インストール Kutools for Excel、以下のようにしてください:

1。 クリック クツール > ナビゲーションに設定します。 OK をクリックします。 ワークブックとシート ワークブックとワークシートを表示し、ワークブックを選択すると、そのワークシートがに表示されます。 ナビゲーション ペイン。 スクリーンショットを参照してください:
ドキュメントナビゲーションペイン1   

ヒント:

削除または追加されたワークシートがある場合は、 リフレッシュボタン ドキュメントナビゲーションペイン2 セクションに Navigatioワークシート名を更新するためのnペイン。

ナビゲーションの詳細については、ここをクリックしてください。

最高のオフィス生産性向上ツール

🤖 Kutools AI アシスタント: 以下に基づいてデータ分析に革命をもたらします。 インテリジェントな実行   |  コードを生成  |  カスタム数式の作成  |  データを分析してグラフを生成する  |  Kutools関数を呼び出す...
人気の機能: 重複を検索、強調表示、または識別する   |  空白行を削除する   |  データを失わずに列またはセルを結合する   |   数式なしのラウンド ...
スーパールックアップ: 複数の基準の VLookup    複数の値の VLookup  |   複数のシートにわたる VLookup   |   ファジールックアップ ....
詳細ドロップダウン リスト: ドロップダウンリストを素早く作成する   |  依存関係のドロップダウン リスト   |  複数選択のドロップダウンリスト ....
列マネージャー: 特定の数の列を追加する  |  列の移動  |  Toggle 非表示列の表示ステータス  |  範囲と列の比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   ビッグフォーミュラバー    ワークブックとシートマネージャー   |  リソースライブラリ (自動テキスト)   |  日付ピッカー   |  ワークシートを組み合わせる   |  セルの暗号化/復号化    リストごとにメールを送信する   |  スーパーフィルター   |   特殊フィルター (太字/斜体/取り消し線をフィルター...) ...
上位 15 のツールセット12 テキスト ツール (テキストを追加, 文字を削除する、...)   |   50+ チャート 種類 (ガントチャート、...)   |   40+ 実用的 (誕生日に基づいて年齢を計算する、...)   |   19 挿入 ツール (QRコードを挿入, パスから画像を挿入、...)   |   12 変換 ツール (数字から言葉へ, 通貨の換算、...)   |   7 マージ&スプリット ツール (高度な結合行, 分割セル、...)   |   ... もっと

Kutools for Excel で Excel スキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、生産性を向上させ、時間を節約するための300以上の高度な機能を提供します。  最も必要な機能を入手するにはここをクリックしてください...

説明


Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
Comments (13)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hallo. hoe zou ik dit kunnen doen om hetzelfde te doen maar met een welbepaade cel van verschillende werkbladen. Bv. een leeg tabblad. mijn andere werkbladen hebben allemaal dezelfde lay-out, maar in iedere cel een andere tekst. Nu zou ik graag in mijn leeg tabblad in Cel A1 de gegevens terugvinden van tabblad1 cel B3. Maar dan zou ik graag in Cel A2 de gegevens terugvinden van tabblad 2 cel 3. En zou naar beneden en dit in een beweging. We kunnen allemaal afzonderlijk doen, maar als er 500 werkbladen zijn, is dit onmogelijk.

Merci voor den input.
This comment was minimized by the moderator on the site
Hi, I guess you want to list all same cells across multiple sheets, if so, there are two tutorials may help you. Please visit:
How to reference same cell from multiple worksheets in Excel?
How to create a list from same cells across multiple sheets in Excel?
Hope it is helpful.
This comment was minimized by the moderator on the site
Em português brasileiro, GET.WORKBOOK é identificado como uma função no Gerenciador de Nomes para criar o nome "Sheets", mas ao referenciar "Sheets" numa célula, aparece o erro "#NOME?". Tentei várias vezes, inclusive com a sugestão de traduzir GET.WORKBOOK para OBTER.LIVRO mas não funcionou.
This comment was minimized by the moderator on the site
Hi, try this: =SUBSTITUIR(INFO.PASTA.TRABALHO(1),"["&INFO.PASTA.TRABALHO(16)&"]","")
This comment was minimized by the moderator on the site
Thanks for this helpful info. I created a dynamic list with VBA code in the Index tab. I found that it only updates when I click back to the Index tab, though. Is there a way to ensure it auto updates as soon as a new tab is created? I refer to the tab names elsewhere in the workbook and others will be using it so I'm trying to make it seamless. Thank you!
This comment was minimized by the moderator on the site
Sorry, I do not find that code can finish your job.
This comment was minimized by the moderator on the site
Or you can simply rightClick either the left or right tab-horizontal-scroll arrow at the bottomLeft, and then click the worksheet name (from the simple vertical list) that you want to jump to.
This comment was minimized by the moderator on the site
Just what I needed and worked perfectly. Thank you!
This comment was minimized by the moderator on the site
Defining the name "Sheets" in the define name DOES NOT WORK. The "refers to" box will not save the formula as typed and converts it to a text string.
This comment was minimized by the moderator on the site
how can I use this code to create the list of worksheets in horizontal order instead of vertical? is it possible?
This comment was minimized by the moderator on the site
Thank you. It is very useful. :D
This comment was minimized by the moderator on the site
How can i remove the links to each sheets and how to not include the "sheet1" and "Index" sheet? Private Sub Worksheet_Activate() 'Updateby20150305 Dim xSheet As Worksheet Dim xRow As Integer Dim calcState As Long Dim scrUpdateState As Long Application.ScreenUpdating = False xRow = 1 With Me .Columns(1).ClearContents .Cells(1, 1) = "INDEX" .Cells(1, 1).Name = "Index" End With For Each xSheet In Application.Worksheets If xSheet.Name Me.Name Then xRow = xRow + 1 With xSheet .Range("A1").Name = "Start_" & xSheet.Index .Hyperlinks.Add anchor: = .Range("A1"), Address: = "", _ SubAddress: = "Index", TextToDisplay: = "Back to Index" End With Me.Hyperlinks.Add anchor: = Me.Cells(xRow, 1), Address: = "", _ SubAddress: = "Start_" & xSheet.Index, TextToDisplay: = xSheet.Name End If Next Application.ScreenUpdating = True End Sub
This comment was minimized by the moderator on the site
How would I go about editing this code to include a checkbox to the left of the link that I could use to hide rows on a cover sheet? Also how could I insert a row on the worksheets below A1 to have the return to index link show up there?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations