Pinterest Pixel

Create a Table of Contents Using Macros In Excel

Bryan
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!

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.

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: 

Create a Table of Contents Using Macros In Excel

How to Create a Table of Contents Using Macros In Excel

This is our list of worksheets:

Create a Table of Contents Using Macros In Excel

STEP 1: Go to Developer > Code > Visual Basic

Create a Table of Contents Using Macros In Excel | MyExcelOnline

 

STEP 2: Paste in your code and Select Save. Close the window afterwards.

Create a Table of Contents Using Macros In Excel

 

STEP 3: Let us test it out!

Open the sheet. Go to Developer > Code > Macros

Create a Table of Contents Using Macros In Excel | MyExcelOnline

 

Make sure your macro is selected. Click Run.

Create a Table of Contents Using Macros In Excel

 

With just one click, a new worksheet “Table of Contents” was created!Create a Table of Contents Using Macros In Excel

Try clicking the Americas link and it takes you straight to the Americas worksheet!

Create a Table of Contents Using Macros In Excel

 

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.

If you like this Excel tip, please share it



Create a Table of Contents Using Macros In Excel | MyExcelOnline


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.

See also  Unhide All Hidden Rows and Columns Using Macros In Excel

Star 30 Days - Full Access Star

One Dollar Trial

$1 Trial for 30 days!

Access for $1

Cancel Anytime

One Dollar Trial
  • Get FULL ACCESS to all our Excel & Office courses, bonuses, and support for just USD $1 today! Enjoy 30 days of learning and expert help.
  • You can CANCEL ANYTIME — no strings attached! Even if it’s on day 29, you won’t be charged again.
  • You'll get to keep all our downloadable Excel E-Books, Workbooks, Templates, and Cheat Sheets - yours to enjoy FOREVER!
  • Practice Workbooks
  • Certificates of Completion
  • 5 Amazing Bonuses
Satisfaction Guaranteed
Accepted paymend methods
Secure checkout

Get Video Training

Advance your Microsoft Excel & Office Skills with the MyExcelOnline Academy!

Dramatically Reduce Repetition, Stress, and Overtime!
Exponentially Increase Your Chances of a Promotion, Pay Raise or New Job!

Learn in as little as 5 minutes a day or on your schedule.

Learn More!

Share to...