すべてのシートの目次を作成し、自動的に更新するにはどうすればよいですか?
例えば、数百のワークシートを含むワークブックがあり、多数のシートの中から特定のシートに移動するのは多くの人にとって頭痛の種です。この場合、これらのワークシートの目次を作成すると、特定のシートに迅速かつ簡単に移動するのに役立ちます。このチュートリアルでは、すべてのシートの目次を作成し、シートを挿入、削除、または名前を変更したときに目次が自動的に更新される方法について説明します。
数式を使用して、すべてのシートの目次を作成し、自動的に更新する
Kutools for Excel を使用して、すべてのシートの目次を作成し、自動的に更新する
VBA コードを使用して、すべてのシートの目次を作成し、自動的に更新する
数式を使用して、すべてのシートの目次を作成し、自動的に更新する
Excel では、範囲名を定義し、数式でその名前を参照することで目次を作成できます。次の手順に従ってください:
1. 目次を作成したいすべてのシートの前に新しいシートを挿入し、必要に応じて名前を変更します。
2. 次に、「数式」>「名前の定義」をクリックします。スクリーンショットをご覧ください:
3. 「新しい名前」ダイアログボックスで、「名前」ボックスに「Sheetlist」という名前を指定します(必要に応じて変更可能)。次に、以下の数式を「参照先」テキストボックスに入力します。
=GET.WORKBOOK(1)&T(NOW())
4. 次に、「OK」ボタンをクリックしてダイアログボックスを閉じます。
5. これで、目次を作成したい新しいシートに移動し、空白のセルに次の数式を入力してください:
=IFERROR(INDEX(MID(Sheetlist,FIND("]",Sheetlist)+1,255),ROWS($A$2:A2)),"")
6. そして、フィルハンドルを下にドラッグして、空白のセルが表示されるまで続けます。現在のワークブック内のすべてのシート名(非表示のシートも含む)が以下のようにリストされます。スクリーンショットをご覧ください:
7. 次に、目次の内容に対してハイパーリンクを作成する必要があります。次の数式を使用してください:
=HYPERLINK("#'"&A2&"'!A1","Go To Sheet")
8. これで、ハイパーリンクテキストをクリックすると、そのシートにすぐに移動します。また、新しいシートを挿入したり、シートを削除したり、シート名を変更したりすると、目次が自動的に更新されます。
- 1. この方法では、すべての非表示シートも目次に表示されます。
- 2. ファイルを「Excel マクロ有効ブック」形式で保存する必要があります。このようにすることで、次回このファイルを開いたときに数式が正常に動作します。
Kutools for Excel を使用して、すべてのシートの目次を作成し、自動的に更新する
「Kutools for Excel」を持っている場合、その「ナビゲーションペイン」を使用して、すべてのシート名を左ペインに垂直にリストし、特定のシートにすばやく簡単に移動できます。
Kutools for Excel のインストール後、次のように操作してください:
1. 「Kutools」>「ナビゲーション」をクリックします。スクリーンショットをご覧ください:
2. 展開された「ナビゲーション」ペインで、「ワークブック & シート」アイコンをクリックします。開いているすべてのワークブックが上部のリストボックスにリストされ、ワークブック内のすべての表示されているシートが下部のリストボックスに表示されます。スクリーンショットをご覧ください:
3. これで、左ペインからシート名をクリックするだけでそのシートに移動できます。また、シートを削除、挿入、または名前変更すると、ペイン内のシートリストが動的に更新されます。
VBA コードを使用して、すべてのシートの目次を作成し、自動的に更新する
時々、目次に非表示のシートを表示する必要がない場合があります。この問題を解決するために、次の VBA コードが役立ちます。
1. 目次を作成したいすべてのシートの前に新しいシートを挿入し、必要に応じて名前を変更します。次に、シートタブを右クリックし、コンテキストメニューから「コードの表示」を選択します。スクリーンショットをご覧ください:
2. 開かれた「Microsoft Visual Basic for Applications」ウィンドウで、以下のコードをシートコードウィンドウにコピーして貼り付けます:
VBA コード: すべてのシートの目次を作成し、自動的に更新する
Private Sub Worksheet_Activate()
'Updateby ExtendOffice
Dim xWsh As Worksheet
Dim xWshs As Worksheets
Dim xShowHinddenWorkSheet As Boolean
Dim xI As Long
Dim xRg As Range
Dim xStrTitle, xStrTCHeader, xStrWShName As String
xShowHinddenWorkSheet = False 'Change this to True to display the hidden sheets as you need
xStrTitle = "A1"
xStrTCHeader = "A3"
On Error Resume Next
Application.ScreenUpdating = False
Me.Cells.Clear
Me.Range(xStrTitle).Font.Bold = True
Me.Range(xStrTitle).Font.Size = Me.Range(xStrTitle).Font.Size + 2
Me.Range(xStrTitle).Value = "Table of Contents"
Me.Range(xStrTCHeader).Value = "No."
Me.Range(xStrTCHeader).Offset(0, 1).Value = "Sheet Name"
Me.Range(xStrTCHeader).Resize(1, 2).Font.Bold = True
xStrWShName = Me.Name
xI = 1
For Each xWsh In Application.ActiveWorkbook.Worksheets
If xWsh.Name <> xStrWShName Then
If (xWsh.Visible = xlSheetVisible) Or xShowHinddenWorkSheet Then
Me.Hyperlinks.Add Anchor:=Me.Range(xStrTCHeader).Offset(xI, 1), Address:="", SubAddress:="'" & xWsh.Name & "'!A1", TextToDisplay:=xWsh.Name
Me.Range(xStrTCHeader).Offset(xI).Value = xI
xI = xI + 1
End If
End If
Next
Application.ScreenUpdating = True
End Sub
3. 次に、「F5」キーを押してこのコードを実行すると、新しいワークシートに目次がすぐに作成されます。すべての非表示シートは目次に表示されません。スクリーンショットをご覧ください:
4. 今後、シートを削除、挿入、または名前変更すると、目次が動的に更新されます。
最高のオフィス生産性ツール
🤖 | Kutools AI Aide:データ分析を革新:インテリジェント実行 | コード生成 | カスタム数式の作成 | データを分析してグラフを生成 | Kutools Functions を呼び出す… |
人気機能:重複の検索・ハイライト・マーキング | 空白行を削除 | データを失わず列やセルを統合 | 丸める ... | |
スーパー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でタブ編集とタブ閲覧を有効にします
- 同じウィンドウ内の新しいタブで複数のドキュメントを開いたり作成したりできます。新しいウィンドウを開く必要はありません。
- 生産性が50%向上し、1日に何百回ものマウスクリックも削減できます!