This is one of the most fun and coolest macros that you can use. If you have a lot of worksheets, it is very annoying to scroll left to right to find out what other worksheets you have. We can use Excel Macros to create a table of contents for easy navigation! Make sure your Excel has the Developer Tab enabled following this tutorial. I explain how you can do this below step by step!
Key Takeaways
-
Automatically List All Sheets – Macros can quickly generate a clickable list of all worksheet names in a workbook.
-
Create Hyperlinks to Each Sheet – The macro can add hyperlinks, allowing easy navigation from the Table of Contents.
-
Place TOC on a New Sheet – A macro can insert a new worksheet at the beginning to serve as your table of contents.
-
Update the TOC with a Button – Add a button to rerun the macro and refresh the table as new sheets are added.
-
Customize the Layout and Style – Macros allow you to apply formatting, titles, and sorting to make the TOC look professional.
Table of Contents
Quick Overview
What does it do?
Creates a table of contents for all of the worksheets
Copy Source Code:
Sub CreateTableOfContents() Dim counter As Long On Error Resume Next Application.DisplayAlerts = False 'If this worksheet already exists, let us redo this Worksheets("Table of Contents").Delete Application.DisplayAlerts = True On Error GoTo 0 'Let us add a new worksheet as our Table of Contents ThisWorkbook.Sheets.Add Before:=ThisWorkbook.Worksheets(1) ActiveSheet.Name = "Table of Contents" 'Let us enumerate all of the worksheets in our ToC For counter = 1 To Sheets.Count 'This will add one hyperlink for the specific sheet ActiveSheet.Hyperlinks.Add _ Anchor:=ActiveSheet.Cells(counter, 1), _ Address:="", _ SubAddress:="'" & Sheets(counter).Name & "'!A1", _ ScreenTip:=Sheets(counter).Name, _ TextToDisplay:=Sheets(counter).Name Next counter End Sub
Final Result:
How to Create a Table of Contents Using Macros In Excel
This is our list of worksheets:
STEP 1: Go to Developer > Code > Visual Basic
STEP 2: Paste in your code and Select Save. Close the window afterwards.
STEP 3: Let us test it out!
Open the sheet. Go to Developer > Code > Macros
Make sure your macro is selected. Click Run.
With just one click, a new worksheet “Table of Contents” was created!
Try clicking the Americas link and it takes you straight to the Americas worksheet!
Frequently Asked Questions
Why use a macro to create a Table of Contents in Excel?
It saves time by automatically listing and linking all worksheets in a workbook, especially helpful for large files.
Can the macro include only visible sheets?
Yes, the macro can be written to skip hidden sheets and include only those visible to the user.
Where does the Table of Contents appear?
Typically, the macro creates a new sheet named “TOC” or “Index” at the beginning of the workbook.
Can I add a refresh button to update the TOC?
Yes, a button can be added to rerun the macro and update the list when new sheets are added.
Is it possible to format the TOC for better readability?
Absolutely—macros can apply bold headers, add colors, and sort sheet names alphabetically for a polished look.

Bryan
Bryan Hong is an IT Software Developer for more than 10 years and has the following certifications: Microsoft Certified Professional Developer (MCPD): Web Developer, Microsoft Certified Technology Specialist (MCTS): Windows Applications, Microsoft Certified Systems Engineer (MCSE) and Microsoft Certified Systems Administrator (MCSA).
He is also an Amazon #1 bestselling author of 4 Microsoft Excel books and a teacher of Microsoft Excel & Office at the MyExecelOnline Academy Online Course.