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

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

Author: Sun Last Modified: 2025-05-23

ワークブックに複数のシートがあり、そのすべてのシート名を新しいシートに動的にリスト化したい場合、どのようにすればよいでしょうか?このチュートリアルでは、Excelでこのタスクを迅速に完了するためのいくつかの方法を紹介します。

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

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

Kutools for Excelを使用してワークシート名の動的なリストを作成する good idea3

Kutools for Excelを使用してワークシート名の動的なリストを表示する good idea3


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

1. 空白のシート内のセルを選択します。ここではA1を選択し、次にクリックします 数式 > 名前の定義スクリーンショットをご覧ください:
Define Name button on the ribbon

2. 次に 新しい名前 ダイアログで、「 シート 」と入力してください(必要に応じて変更可能)。「 名前 」テキストボックスに入力し、次の数式を「参照先」テキストボックスに入力します: =SUBSTITUTE(GET.WORKBOOK(1),"["&GET.WORKBOOK(16)&"]","") スクリーンショットをご覧ください:
New Name dialog

3. 「 OK」をクリックします。選択したセル(A1)に移動し、次の数式を入力します: =INDEX(Sheets,ROWS($A$1:$A1)) (A1はこの数式を入力するセル、「Sheets」はステップ2で定義した名前です)。その後、オートフィルハンドルを下にドラッグし、#REF!が表示されるまで続けます。
Formula entered in cells and #REF! appears

ヒント:シートが削除または追加された場合、A1に戻り、Enterキーを押してから再度オートフィルハンドルをドラッグする必要があります。
Formula entered again in cells and #REF! appears


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

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

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

Rename option on the right-clicking menu       Worksheet renamed as Index

2. Indexのシート名を右クリックし、「 コードの表示 」を選択します。スクリーンショットをご覧ください:
View Code option on the context menu

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. 実行 をクリックするか、 F5 キーを押してVBAを実行すると、動的なワークシート名リストが作成されます。
A dynamic list of worksheet names is created

ヒント:

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

2. シート名リストのシート名をクリックすると、そのシートに移動できます。

上記の2つの方法は十分に便利ではないかもしれません。新しいツールに興味がある場合は、次の2つの方法も試すことができ、より簡単になる可能性があります。


Kutools for Excelを使用してワークシート名の動的なリストを作成する

 ワークブック内のすべてのワークシート名を素早くリスト化し、元のシートにリンクしたい場合は、Kutools for Excelの「リンクテーブルの作成」機能を使用できます。

Kutools for Excelは、300以上の高度な機能を提供し、複雑なタスクを簡素化し、創造性と効率を向上させます。 AI機能と統合され、Kutoolsは正確にタスクを自動化し、データ管理を容易にします。Kutools for Excelの詳細情報...無料トライアル...

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

1. Kutools Plus > ワークシート > リンクテーブルの作成 をクリックします。スクリーンショットをご覧ください:

Create List of Sheet Names option on the Kutools Plus tab on the ribbon

2. リンクテーブルの作成 ダイアログで:

 Create List of Sheet Names dialog
(1) 必要なインデックススタイルを スタイル セクションで選択します;
(2) 新しいインデックスシートの名前を リンクテーブルの名前 テキストボックスに入力します;
(3) 追加されたインデックスシートを配置する場所を ワークブック内の位置 リストで指定します;
(4) シート名を一覧で表示したい場合は、 スパンする行数 リストで1行を選択します。

3. 「 OK」をクリックします。これでシート名がリストされているのが確認できます。
Sheet name list is created

ヒント:

1. シート名をクリックすると、元のシートに素早く切り替えることができます。

2. シート名のリストは、シートの挿入や削除によって動的に変更されることはありません。

3. 実際には、相対的なシートにリンクするボタンの一覧を作成することもできます。そのためには、ダイアログで「 ボタンとマクロの作成 」にチェックを入れます。スクリーンショットをご覧ください:
List of buttons to link to relative sheets is created

リンクテーブルの作成についてさらに詳しくはこちらをクリックしてください。

  クリック可能なシート名リストの作成

Kutools for Excel: あなたの指先に 300 以上の便利なツールが集結!永久無料のAI機能をお楽しみください!今すぐダウンロード!

Kutools for Excelを使用してワークシート名の動的なリストを表示する

Kutools for Excelを使用すると、ナビゲーション機能を利用してペイン内にリンク可能なワークシート名を表示することもできます。

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

1. 「 Kutools > ナビゲーション」をクリックします。次に「 ワークブック & シート 」をクリックしてワークブックとワークシートを表示し、ワークブックを選択すると、そのワークシートが ナビゲーション ペインに表示されます。スクリーンショットをご覧ください:
Workbook & Sheet pane   

ヒント:

シートが削除または追加された場合、 更新ボタン Refresh buttonナビゲーションペイン内でクリックして、シート名を更新できます。

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

  ナビゲーションペイン -- シートリスト

Kutools for Excel: あなたの指先に 300 以上の便利なツールが集結!永久無料のAI機能をお楽しみください!今すぐダウンロード!

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

🤖 Kutools AI アシスタント: データ分析を革命化する: インテリジェント実行   |  コード生成  |  カスタム数式の作成  |  データを分析しグラフを生成  |  拡張機能を呼び出す
人気の機能: 重複を見つけてハイライトまたはマーキング   |  空白行を削除   |  データを失わずに列またはセルを統合   |   丸める ...
スーパーLOOKUP: 複数条件のVLookup    複数値のVLookup  |   複数シートの検索   |   ファジーマッチ ....
高度なドロップダウンリスト: ドロップダウンリストを迅速に作成   |  依存ドロップダウンリスト   |  マルチセレクトドロップダウンリスト ....
列管理: 特定の数の列を追加  |  列を移動  |  非表示列の可視ステータスを切り替え  |  範囲と列を比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   強化された数式バー    ワークブック & ワークシート管理   |  オートテキスト ライブラリ (Auto Text)   |  日付ピッカー   |  データの統合   |  セルの暗号化/復号化    リストで電子メールを送信   |  スーパーフィルター   |   特殊フィルタ (太字/斜体/取り消し線をフィルタリング...) ...
トップ15のツールセット12 のテキストツール (テキストの追加, 特定の文字を削除, ...)  |  50以上 のグラフ の種類 (ガントチャート, ...)  |  40以上の実用的な 数式 (誕生日に基づいて年齢を計算する, ...)  |  19 の挿入ツール (QRコードの挿入, パスから画像を挿入, ...)  |  12 の変換ツール (単語に変換する, 通貨変換, ...)  |  7 の統合 & セルの分割ツール (高度な行のマージ, セルの分割, ...)  |  ...さらに多く

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


Office TabはOfficeにタブインターフェイスをもたらし、作業を非常に簡単にします

  • Word、Excel、PowerPoint、Publisher、Access、Visio、Projectでタブ付きの編集と読み取りを有効にします。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を50%向上させ、毎日数百回のマウスクリックを減らします!