The tutorial explains how to unhide worksheets in Excel 2016, 2013, 2010 and lower. You will learn how to quickly unhide worksheet by right-clicking and how to unhide all sheets at a time with VBA code.
Imagine this: you open a worksheet and notice that some formulas refer to another worksheet. You look at the sheet tabs, but the referenced spreadsheet is not there! You try to create a new sheet with the same name, but Excel tells you it already exists. What does that all mean? Simply, the worksheet is hidden. How to view hidden sheets in Excel? Obviously, you have to unhide them. This can be done manually by using Excel's Unhide command or automatically with VBA. This tutorial will teach you both methods.
If you want to see just one or two hidden sheets, here's how you can quickly unhide them:
Besides the right-click contextual menu, the Unhide dialog can be accessed from the ribbon:
In situations when you have multiple hidden worksheets, unhiding them one-by-one might be very time consuming, especially if you'd like to unhide all the sheets in your workbook. Fortunately, you can automate the process with one of the following macros.
This small macro makes all hidden sheets in an active workbook visible at once, without disturbing you with any notifications.
Sub Unhide_All_Sheets() Dim wks As Worksheet For Each wks In ActiveWorkbook.Worksheets wks.Visible = xlSheetVisible Next wks End Sub
Like the above one, this macro also displays all hidden sheets in a workbook. The difference is that upon completion, it shows a dialog box informing the user how many sheets have been unhidden:
Sub Unhide_All_Sheets_Count() Dim wks As Worksheet Dim count As Integer count = 0 For Each wks In ActiveWorkbook.Worksheets If wks.Visible <> xlSheetVisible Then wks.Visible = xlSheetVisible count = count + 1 End If Next wks If count > 0 Then MsgBox count & " worksheets have been unhidden.", vbOKOnly, "Unhiding worksheets" Else MsgBox "No hidden worksheets have been found.", vbOKOnly, "Unhiding worksheets" End If End Sub
If you'd rather not unhide all worksheets at once, but only those that the user explicitly agrees to make visible, then have the macro ask about each hidden sheet individually, like this:
Sub Unhide_Selected_Sheets() Dim wks As Worksheet Dim MsgResult As VbMsgBoxResult For Each wks In ActiveWorkbook.Worksheets If wks.Visible = xlSheetHidden Then MsgResult = MsgBox("Unhide sheet " & wks.Name & "?", vbYesNo, "Unhiding worksheets") If MsgResult = vbYes Then wks.Visible = xlSheetVisible End If Next End Sub
In situations when you only want to unhide sheets containing certain text in the their names, add an IF statement to the macro that will check the name of each hidden worksheet and unhide only those sheets that contain the text you specify.
In this example, we unhide sheets with the word "report" in the name. The macro will display sheets such as Report, Report 1, July report, and the like.
To unhide worksheets whose names contain some other word, replace "report" in the following code with your own text.
Sub Unhide_Sheets_Contain() Dim wks As Worksheet Dim count As Integer count = 0 For Each wks In ActiveWorkbook.Worksheets If (wks.Visible <> xlSheetVisible) And (InStr(wks.Name, "report") > 0) Then wks.Visible = xlSheetVisible count = count + 1 End If Next wks If count > 0 Then MsgBox count & " worksheets have been unhidden.", vbOKOnly, "Unhiding worksheets" Else MsgBox "No hidden worksheets with the specified name have been found.", vbOKOnly, "Unhiding worksheets" End If End Sub
To use the macros in your worksheet, you can either copy/paste the code in the Visual Basic Editor or download the workbook with the macros and run them from there.
You can add any of the above macros to your workbook in this way:
For the detailed step-by-step instructions, please see How to insert and run VBA code in Excel.
Alternatively, you can download our sample workbook to unhide sheets in Excel that contains all of the macros discussed in this tutorial:
To run the macros in your Excel, you do the following:
For example, to unhide all sheets in your Excel file and display the hidden sheets count, you run this macro:
Apart from macros, the tedium of showing hidden worksheets one at a time can be overcome by creating a custom view. If you are not familiar with this Excel feature, you can think of a custom view as a snapshot of your workbook settings that can be applied at any moment in a mouse click. This method is best to be used in the very beginning of your work, when none of the sheets is hidden yet.
So, what we are going to do now is create the Show All Sheets custom view. Here's how:
You can now hide as many worksheets as you want, and when you wish to make them visible again, you click the Custom Views button, select the ShowAllSheet view and click Show, or simply double-click the view.
That's it! All hidden sheets will be shown immediately.
The fastest way to detect hidden sheets in Excel is this: right-click any sheet tab and see if the Hide… command is enabled or not. If it is enabled, click it and see which sheets are hidden. If it is disabled (greyed out), the workbook does not contain hidden sheets.
If you are unable to unhide certain sheets in your Excel, the following troubleshooting tips may shed some light why.
It is not possible to hide or unhide sheets if the workbook structure has been protected (should not be confused with workbook-level password encryption or worksheet protection). To check this, go to the Review tab > Changes group and have a look at the Protect Workbook button. If this button is highlighted in green, the workbook is protected. To unprotect it, click the Protect Workbook button, type the password if prompted and save the workbook. For more information, please see How to unlock a protected workbook in Excel.
If your worksheets are hidden by VBA code that makes them very hidden (assigns the xlSheetVeryHidden property), such worksheets cannot be displayed by using the Unhide command. To unhide very hidden sheets, you need to change the property from xlSheetVeryHidden to xlSheetVisible from within the Visual Basic Editor or run this VBA code.
If the Unhide command is grayed out both on the ribbon and in right-click menu, that means there is not a single hidden sheet in your workbook :)
This is how you unhide sheets in Excel. If you are curious to know how to hide or unhide other objects such as rows, columns or formulas, you will find full details in the below articles. I thank you for reading and hope to see you on our blog next week!
Macros to unhide worksheets in Excel
13 responses to "How to unhide sheets in Excel: show multiple or all sheets at once"
Hi Svetlana,
I have another case, I can see the sheet in an excel workbook but when i open in VBA i can't see it. It sound in this sheet that is not visibile when i open the vba there is macro registered. How can I do it to open in in vba also? thank u
Que?
Thanks!
This was very helpful!
OUTSTANDING tutorial. Super helpful. Efficient, concise, - Elegant.
Thank you!
thanks a lot! exactly what i was looking for! I stored the macro (unhide_all_sheets) in my personal macro workbook (that's always open in the background) to ensure I can use it on any workbook that comes along..! :-)
btw, this works fine on Office 2016 for Mac!
Hi Svetlana,
I shortly sent you a message in response to your email about receiving a error while trying to use your VBA code to unhide the worksheets in the Excel file that i have. Unfortunately, I do not know what happend I cannot see any of the previous messages.
Thanks,
Alireza
Wow! This is super!
Thank you for giving us so many options. I have created a macro to unhide all sheets all at once.
Based on the macro that you describe "Unhide multiple sheets that you select" Is there an actual way of unhiding sheets based on range? I have dates in tabs named for example, 01010-09112019 and would like to unhide sheets from dates 07012019-09102019? It would be really great to unhide "Selected sheets" based on range.
Thank you,
G
Great timesavers. Thanks!
thanks, really helps me a lot !!!
Thank you with that Very Hidden Sheet trick XD
you are a life saver! hidden the sheets so well i could not retrieve them