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! In this article, you will learn how to create a table of contents using macros in Excel.
Key Takeaways
What Is a Table of Contents in Excel?
A Table of Contents is a worksheet that lists all the sheets in your workbook. Each sheet name is displayed as a clickable hyperlink, allowing you to navigate directly to that worksheet.
You can simply click on the required sheet instead of searching through the sheet tabs manually.
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!
Tips & Tricks
- Save the workbook as an .xlsm file so your macro isn’t removed.
- If macros are disabled, enable them before running the code.
- The macro recreates the Table of Contents each time it runs, so any manual edits to that sheet may be overwritten.
- You can customize the macro to exclude hidden worksheets or sort worksheet names alphabetically.
Table of Contents
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?
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.






