Description:
When we prepare a report or a dashboard it is good idea to change the color of sheet tabs. Analysts generally give the same color to the tabs which are related to same function. For example if you are preparing a dashboard for all the departments in an organization. All the worksheet tabs related finance can be highlighted in red, HR can be in Blue, etc.
Change the Color of Sheet Tabs in Excel VBA – Solution
We can change the Worksheet tab colors by setting the Tab.ColorIndex property using Excel VBA.
Change the Color of Sheet Tabs in Excel VBA – Examples
Following Examples will show you how to change the Color of Sheet tabs using Excel VBA. In the following Example I am changing the Sheet2 tabs color to Red.
Code
Sub sbColorASheetTab() Sheets("Sheet2").Tab.ColorIndex = 3 '3=Red , 4=green,5=blue,6=yellow,etc... End Sub
Instructions:
- Open an excel workbook
- Press Alt+F11 to open VBA Editor
- Insert a new module from Insert menu
- Copy the above code and Paste in the code window
- Save the file as macro enabled workbook
- Press F5 to see the output
- You should see the Sheet2 tab in Red color
Change the Color of All Sheet Tabs in Excel VBA – Examples
You can loop through the all sheets of the workbook by using Worksheets collection of the workbook. And create a variable to hold the colorIndex and assign to each sheet.
See the following example code to know how to color all sheet tabs of a workbook. In this example I am coloring each Sheet tab in Unique color.
Code
Sub sbColorAllSheetTab() 'Declaration Dim iCntr, sht 'This will hold the colorIndex number iCntr = 2 'looping throgh the all the sheets of the workbook For Each sht In ThisWorkbook.Worksheets iCntr = iCntr + 1 'Applying the colors to Sheet tabs sht.Tab.ColorIndex = iCntr Next End Sub
Instructions:
- Open an excel workbook
- Add worksheets (you can 10-50 worksheets)
- Press Alt+F11 to open VBA Editor
- Insert a new module from Insert menu
- Copy the above code and Paste in the code window
- Save the file as macro enabled workbook
- Press F5 to see the output
- You should see all the sheet tabs are colored as shown below
What if I have more than 50 Tabs?
sbColorAllSheetTab macro can handle all the tabs in the workbook.