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.
How to unhide sheets in Excel
If you want to see just one or two hidden sheets, here’s how you can quickly unhide them:
- In your Excel workbook, right-click any sheet tab and select Unhide… from the context menu.
- In the Unhide box, select the hidden sheet you want to display and click OK (or double-click the sheet name). Done!
Besides the right-click contextual menu, the Unhide dialog can be accessed from the ribbon:
- In Excel 2003 and earlier, click the Format menu, and then click Sheet > Unhide.
- In Excel 2016, Excel 2013, Excel 2010 and Excel 2007, go to the Home tab > Cells group, and click the Format Under Visibility, point to Hide & Unhide, and then click Unhide Sheet…
Note. Excel’s Unhide option only allows you to select one sheet at a time. To unhide multiple sheets, you will have to repeat the above steps for each worksheet individually or you can unhide all sheets in one go by using the below macros.
How to unhide sheets in Excel with VBA
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.
How to unhide all sheets in Excel
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
Show all hidden sheets and display their count
Like the above one, this macro also displays all hidden sheets in a workbook. The difference is that upon completion, it shows a dialogue 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
Unhide multiple sheets that you select
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
Unhide worksheets with a specific word in the sheet name
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
How to use the macros to unhide sheets in Excel
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.
How to insert the macro in your workbook
You can add any of the above macros to your workbook in this way:
- Open the workbook with hidden sheets.
- Press Alt + F11 to open the Visual Basic Editor.
- On the left pane, right-click ThisWorkbook and select Insert > Module from the context menu.
- Paste the code in the Code window.
- Press F5 to run the macro.
Download the workbook with the macros
Alternatively, you can download our sample workbook to unhide sheets in Excel that contains all of the macros discussed in this tutorial:
- Unhide_All_Sheets – unhide all worksheets in an active workbook momentarily and silently.
- Unhide_All_Sheets_Count – show all hidden sheets along with their count.
- Unhide_Selected_Sheets – display hidden sheets you choose to unhide.
- Unhide_Sheets_Contain – unhide worksheets whose names contain a specific word or text.
To run the macros in your Excel, you do the following:
- Open the downloaded workbook and enable the macros if prompted.
- Open your own workbook in which you want to see hidden sheets.
- In your workbook, press Alt + F8, select the desired macro, and click Run.
For example, to unhide all sheets in your Excel file and display the hidden sheets count, you run this macro:
Available downloads
From the author’s website: Macros to unhide worksheets in Excel
or click “Download” to download from here
Ref: https://www.ablebits.com/office-addins-blog/2017/12/06/unhide-sheets-excel/