How to create a table of contents for all spreadsheets tab name with hyperlinks in Excel?
An Excel workbook becomes quite large as more and more worksheets are created inside. The more worksheets there are, the more difficult it is to keep the overview of the worksheets. Therefore, you need a table of contents to quickly navigate among worksheets in Excel. This article will show you methods to achieve it.
- Reuse Anything: Add the most used or complex formulas, charts and anything else to your favorites, and quickly reuse them in the future.
- More than 20 text features: Extract Number from Text String; Extract or Remove Part of Texts; Convert Numbers and Currencies to English Words.
- Merge Tools: Multiple Workbooks and Sheets into One; Merge Multiple Cells/Rows/Columns Without Losing Data; Merge Duplicate Rows and Sum.
- Split Tools: Split Data into Multiple Sheets Based on Value; One Workbook to Multiple Excel, PDF or CSV Files; One Column to Multiple Columns.
- Paste Skipping Hidden/Filtered Rows; Count And Sum by Background Color; Send Personalized Emails to Multiple Recipients in Bulk.
- Super Filter: Create advanced filter schemes and apply to any sheets; Sort by week, day, frequency and more; Filter by bold, formulas, comment...
- More than 300 powerful features; Works with Office 2007-2019 and 365; Supports all languages; Easy deploying in your enterprise or organization.
The following VBA code can help you creating a table of contents for all worksheets with hyperlinks in Excel. Please do as follows.
1. Press the Alt + F11 keys to open the Microsoft Visual Basic for Applications window.
2. In the Microsoft Visual Basic for Applications window, click Insert > Module, then copy the below VBA code into the Code window.
VBA code: Create a table of contents for all worksheets
Sub CreateTableofcontents() 'updateby Extendoffice 20180413 Dim xAlerts As Boolean Dim I As Long Dim xShtIndex As Worksheet Dim xSht As Variant xAlerts = Application.DisplayAlerts Application.DisplayAlerts = False On Error Resume Next Sheets("Table of contents").Delete On Error GoTo 0 Set xShtIndex = Sheets.Add(Sheets(1)) xShtIndex.Name = "Table of contents" I = 1 Cells(1, 1).Value = "Table of contents" For Each xSht In ThisWorkbook.Sheets If xSht.Name <> "Table of contents" Then I = I + 1 xShtIndex.Hyperlinks.Add Cells(I, 1), "", "'" & xSht.Name & "'!A1", , xSht.Name End If Next Application.DisplayAlerts = xAlerts End Sub
3. Press the F5 key or click the Run button to run the code.
Then a Table of contents worksheet is created in front of all worksheets with all worksheet names listed inside. You can navigate to any worksheet by clicking the sheet name in the table of contents. See screenshot:
The Create List of Sheet Names utility of Kutools for Excel can help you quickly creating a table of contents in current workbook. Please do as follows.
1. In the workbook you need to create a table of contents, click Kutools Plus > Worksheet > Create List of Sheet Names. See screenshot:
2. In the Create List of Sheet Names dialog box, you need to:
2.1 Select the Contains a list of hyperlinks option in the Sheet Index Style section;
2.2 Enter Table of contents in the Specify sheet name for Sheet Index textbox;
2.3 Keep the default options in the Insert the Sheet Index in and Displaying Sheet Index into drop-down lists;
2.4 Click the OK button. See screenshot:
Then a table of contents worksheet is created as below screenshot showed. You can navigate to any worksheet by clicking the sheet name in the table of contents.
If you select the Contains buttons and macros option in the Select Index Styles section, you will get a table of contents as below screenshot showed.
- How to reference tab name in cell in Excel?
- How to match the cell value with sheet tab name or vice versa in Excel?
- How to open a specific worksheet by the selected value of a Combo Box in Excel?