Đề Xuất 3/2023 # 3 Ways To Unhide Multiple Sheets In Excel + Vba Macros # Top 11 Like | Beiqthatgioi.com

Đề Xuất 3/2023 # 3 Ways To Unhide Multiple Sheets In Excel + Vba Macros # Top 11 Like

Cập nhật nội dung chi tiết về 3 Ways To Unhide Multiple Sheets In Excel + Vba Macros mới nhất trên website Beiqthatgioi.com. Hy vọng thông tin trong bài viết sẽ đáp ứng được nhu cầu ngoài mong đợi của bạn, chúng tôi sẽ làm việc thường xuyên để cập nhật nội dung mới nhằm giúp bạn nhận được thông tin nhanh chóng và chính xác nhất.

Bottom line: Learn a few different ways to unhide (show) multiple sheets at the same time with a VBA macro or add-in.

Skill Level: Intermediate

Cannot Unhide Multiple Sheets in Excel??

As you probably know, you cannot unhide two or more sheets at the same time in Excel. The Unhide menu only allows you to select one sheet at a time.

#1 – Use the VBA Immediate Window to Unhide All

The fastest way to make all the sheets visible in Excel is to use a macro (VBA). The following line of VBA code uses a For Next Loop to loop through each sheet in the active workbook and make each sheet visible.

For Each ws In Sheets:ws.Visible=True:Next

You can run this code in the VB Editor’s Immediate Window in three easy steps:

Alt+F11 (opens the VB Editor Window)

Ctrl+G (opens the Immediate Window)

Paste the following line of code in the Immediate Window and press EnterFor Each ws In Sheets:ws.Visible=True:Next

The screencast below shows how to implement these steps.

The colon character “:” used in the code allows you to basically combine multiple lines of code into one line. This makes it possible to run in the Immediate Window because the Immediate Window only evaluates one line of code at a time.

#2 – Use a Macro to Unhide Multiple Sheets

If you are scratching your head at that line of code in #1, this section should help explain it better.

The macro below is basically that same line of code, but it is broken up into multiple lines. This makes it much easier to read and understand.

Sub Unhide_Multiple_Sheets() Dim ws As Worksheet For Each ws In ActiveWorkbook.Worksheets ws.Visible = xlSheetVisible Next ws End Sub

Download the file that contains the macro.

Unhide Multiple Sheets chúng tôi (64.2 KB)

The lines in the code above that start with “For” and “Next” represent a For-Next Loop Statement. The first line “For Each ws In ActiveWorkbook.Worksheets” tells the macro to loop through each worksheet in the worksheets collection of the workbook.

When the “Next ws” line of code is hit, the macro jumps back up to the first line of code within the loop and evaluates it again. It continues to loop through all the sheets in the workbook’s worksheet collection (Activeworkbook. Worksheets).

We can then use “ws” inside the loop to change the current worksheet’s properties. In this case we are setting the “Visible” property of the sheet to be visible (xlSheetVisible). The visible property has three different properties to choose from:

xlSheetHidden

xlSheetVeryHidden

xlSheetVisible

Here is the documentation on the VBA Visible property from Microsoft. And checkout my article on the For Next Loop for a detailed explanation of how it works.

Unhide Sheets That Contain a Specific Name

What if we only want to unhide the sheets that contain the word “pivot” in the sheet name?

We can add a simple IF statement to the macro to only unhide sheets that contain a specific name or text.

Sub Unhide_Sheets_Containing() Dim ws As Worksheet For Each ws In ActiveWorkbook.Worksheets ws.Visible = xlSheetVisible End If Next ws End Sub

Download the file that contains the macro.

Unhide Multiple Sheets chúng tôi (64.2 KB)

The InStr function searches for text in a string and returns the position of the first occurrence of the text. It is short for InString, and the function is similar to the SEARCH or FIND functions in Excel.

So in this case we are looking for any sheet that contains the word “pivot” in the sheet name. The “ws.name” reference returns the name of the worksheet that is currently being evaluated in the For-Next loop.

If the word “pivot” is NOT found in the sheet name, then the IF statement will evaluate to False and the code will skip all lines until it gets to the “End If” line. Therefore, the sheet that is currently being evaluated in the loop will keep its current visible property (visible or hidden).

This macro works great if you are hiding and unhiding sheets every day/week/month for a report that you maintain. Run the macro to unhide specific sheets when you open the workbook. After you are finished, run the same code but change the visible property to xlSheetHidden to re-hide the sheets (you can create a new macro for this).

#3 – Use Tab Hound or Tab Control

The screencast below shows how simple this is.

This makes the process of unhiding multiple sheets really fast!

Tab Hound also contains additional ways to filter the sheet list. You can type a search in the search box, filter for all visible or hidden tabs, and even filter by tab color. This makes it easy to find the sheets you are looking for and then perform actions on them like hiding/unhiding.

This video also shows how to quickly hide and unhide multiple sheets with Tab Hound.

If you are producing weekly or monthly reports, and want to make sure all the right sheets are hidden before you send it out, the Tab Control add-in can save you a lot of time.

Here is a scenario that we commonly face…

We need to update a workbook with new data this week and make some changes before emailing it out. Those updates require us to unhide a few sheets, make the changes, then hide the sheets again. It can be a time consuming process if you have to hide/unhide a lot of sheets.

The Tab Control add-in is included with Tab Hound.

Unhiding multiple sheets at the same time in Excel will require code or a macro. There is one other way using Custom Views, but it has limitations if you use Excel Tables (and I love Tables).

Hopefully you learned some VBA code that you can implement. You can also add the macros to your Personal Macro workbook to run them anytime you need.

If coding isn’t your thing then checkout the Tab Hound add-in. It will save you time and make your life a lot easier. (win-win!) 🙂

How To Unhide Sheets In Excel: Show Multiple Or All Hidden Sheets At A Time

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:

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 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 wks.Visible = xlSheetVisible count = count + 1 End If Next wks 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 " & chúng tôi & "?", 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 wks.Visible = xlSheetVisible count = count + 1 End If Next wks 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.

Paste the code in the Code window.

Press

F5

to run the macro.

For the detailed step-by-step instructions, please see How to insert and run VBA code in Excel.

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.

For example, to unhide all sheets in your Excel file and display the hidden sheets count, you run this macro:

How to show hidden sheets in Excel by creating a custom view

So, what we are going to do now is create the Show All Sheets custom view. Here’s how:

That’s it! All hidden sheets will be shown immediately.

How to check if a workbook contains any hidden sheets

Note. This method does not show

This method does not show very hidden sheets . The only way to view such sheets is to unhide them with VBA.

Cannot unhide sheets in Excel – problems and solutions

If you are unable to unhide certain sheets in your Excel, the following troubleshooting tips may shed some light why.

1. The workbook is protected

2. Worksheets are very hidden

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.

3. There are no hidden sheets in the 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

You may also be interested in

How To Unhide Sheets In Excel (All In One Go)

In case you prefer reading a tutorial over watching a video, below is a detailed written tutorial on unhiding sheets in Excel.

When you work with data that is spread across multiple worksheets in Excel, you may want to hide a few worksheets. This could be to avoid the clutter or to not show some data to your client/manager by hiding some worksheets and only keeping the useful ones visible.

And in some cases, you may have a workbook that has some hidden sheets and you want to unhide some or all of these worksheets.

In this tutorial, I will show you some methods to unhide worksheets in Excel (manually as well as automatically using VBA). I will also show you how to selectively unhide worksheets based on the name or a condition.

So let’s get started!

Unhiding Sheets Manually

If you only have a few worksheets that are hidden, you can manually unhide some or all of these worksheets.

Suppose you have an Excel workbook that has 10 worksheets that are hidden.

Below are the steps to manually unhide worksheets (one at a time):

The above steps would unhide the select worksheet.

Note: Unfortunately, there is no in-built functionality in Excel to quickly unhide all the hidden worksheets (or a way to select more than one worksheet and unhide it). As of now, you need to use the unhide dialog box where you can only select one worksheet to unhide.

Unfortunately, there is no in-built functionality in Excel to quickly unhide all the hidden worksheets (or a way to select more than one worksheet and unhide it). As of now, you need to use the unhide dialog box where you can only select one worksheet to unhide.

While there is no-inbuilt functionality to unhide in bulk, you can easily do this with a simple VBA macro code.

Unhide All Sheets At One Go

With VBA, you can easily unhide worksheets in bulk.

For example, if you have 10 hidden worksheets, you can create a simple VBA code to unhide all the worksheets or you can unhide based on a condition (such as unhide only those where there is a specific prefix or year in the name).

Note: The methods covered in this tutorial doesn’t require you to save an Excel workbook in a macro-enabled format (.XLSM) to use the VBA code.

Using Immediate Window

VB Editor in Excel has an immediate window where you can type a line of code and instantly execute it right away.

Below are the steps to use this above line of code to unhide sheets through immediate window:

In the Immediate window, copy and paste the following line of code: For each Sheet in Thisworkbook.Sheets: Sheet.Visible=True: Next Sheet

Place the cursor at the end of the line

Hit the Enter key

That’s it!

The above steps would instantly unhide all the sheets in the workbook.

Once done, you can close the VB Editor.

The best part about this is that you can do this on any workbook. You don’t need to worry about saving the workbook in a macro-enabled format. Just execute a line of code and instantly unhide all the sheets in the workbook.

Let me also quickly explain the below VBA code that we have used in the immediate window to unhide sheets:

For each Sheet in Thisworkbook.Sheets: Sheet.Visible=True: Next Sheet

The above code uses a For Next VBA loop to go through all the sheets in the workbook and set the visible property to TRUE. Once the visible property of all the sheets is changed, the code will end.

The colon (:) used in the code above is equivalent to a line break. While it looks like a single line of code, it has three parts to it which are separated by two colons.

If you’re interested in learning more about the immediate window and some awesome things you can do with it, here is a detailed tutorial about it.

In case you have to unhide worksheets quite often, another good way could be to have the macro code to unhide sheets in the Personal macro workbook and save the icon in the Quick Access Toolbar.

This is by far the most efficient way to unhide sheets in Excel (most useful when you get a lot of workbooks with hidden sheets and you have to unhide these).

The trick here is to save the code to unhide sheets in the Personal Macro Workbook.

Below is the code that you need to add to the Personal Macro Workbook:

Sub UnhideAllSheets() For Each Sheet In Sheets Sheet.Visible = True Next Sheet End Sub

Below are the steps to add this code to the Personal Macro Workbook:

In the Record Macro dialog box, change the Store macro in setting to – Personal Macro Workbook.

Remove any existing code and copy and paste the above code.

Close the Vb Editor

The above steps allow you to make the Personal Macro Workbook visible in the VB Editor and place the code to unhide sheets in it.

Now all you need to do is add this code to the Quick Access Toolbar so that you can use it anytime from any workbook.

Below are the steps to add this code to the Quick Access Toolbar:

Select the macro code to unhide sheets

The above steps would add this macro code to unhide sheets in the Quick Access Toolbar.

Unhide Sheets With Specific Text in the Name

With VBA, you can also unhide sheets based on the name.

For example, suppose you have a workbook that contains sheets with years in the name and you want to unhide all the ones where the year is 2020.

You can use the below code to unhide all the sheets with the text 2020 in it:

Sub UnhideSheetsWithSpecificText() For Each ws In ThisWorkbook.Worksheets ws.Visible = xlSheetVisible End If Next ws End Sub

The above uses the For Next loop to go through each worksheet in the workbook. The IF Then condition then checks the name of the worksheet and if it contains the specified text (which is 2020 in this code), it will change the visible property to make it visible.

And if the name doesn’t contain the specified text, it will leave it as is.

You can also modify this code to hide sheets based on the text in the name.

For example, if you want to quickly hide all the worksheets where the name contains the text ‘2020’ in it, you can use the below code:

Sub HideSheetsWithSpecificText() For Each ws In ThisWorkbook.Worksheets ws.Visible = xlHidden End If Next ws End Sub

Note: You can save this code in a regular module inside VB Editor or you can save this in the Personal Macro Workbook. In case you save it in a regular module and need to use it again later, you need to save the workbook as a macro-enabled workbook (.XLSM format).

Unhide Selected Sheets (Based on User Selection)

You can also use VBA to give the user the flexibility to choose whether to unhide a sheet or not.

This can be done by showing a message box that asks the user to select whether to unhide a sheet or not. If selected, it unhides that sheet, else it moves to the next one.

Below is the code that will do this:

Sub UnhideSheetsUserSelection() For Each sh In ThisWorkbook.Sheets Result = MsgBox("Do You Want to Unhide " & sh.Name, vbYesNo) If Result = vbYes Then sh.Visible = True End If Next sh End Sub

The above code goes through each sheet in the workbook and checks whether it’s already visible or not. If it’s hidden, then it shows the message box with the name of the worksheet.

As a user, you can now decide whether you want to keep this sheet hidden or unhide it.

This can work well if you have some worksheets that are hidden and you want to take a call for every sheet individually.

Note: You can save this code in a regular module inside VB Editor or you can save this in the Personal Macro Workbook. In case you save it in a regular module and need to use it again later, you need to save the workbook as a macro-enabled workbook (.XLSM format).

Here is a tutorial where I show how to save the code in the regular module in Excel (search for the ‘Where to put this code’ section in this article)

Unhide All or Selected Sheets Using Custom View

This is a less known method in case you want to quickly unhide all the worksheets (or some selected worksheets).

For example, suppose you have an Excel workbook with 10 worksheets. You can create a view where all these 10 sheets are visible. In the future, if you have some sheets hidden and you want o go back to the view where all the sheets were visible, you can do that by selecting the already saved custom view.

Don’t worry, you don’t lose any changes you made after creating the custom view. All custom view does is takes you back to the Excel view when you created it. So if some worksheets were visible when you created the view and are now hidden, selecting that custom view would unhide these sheets.

The intended use of Custom View is to allow users to create different views. For example, if you’re an analyst, you can create different views for different departments in your organization. So you can have a specific set of worksheets (or cells/rows/columns) visible for one department and another set for another department. Once you have these views, instead of changing this manually, you simply activate the view for a department and it will show you worksheets (or rows/columns) relevant for them only.

Below are the steps to create a custom view in Excel:

Unhide all the worksheets to begin with

Enter any name for this view where all the sheets (or selected sheets) are visible

Once the view is created, you can anytime ask Excel to activate this view (which would make all those sheets visible that were visible when you created the view).

Below are the steps to show/activate a custom view:

In the Custom Views dialog box, select the view that you want to show

This would instantly unhide sheets and show those that were visible when you created that custom view.

Unhiding Sheets that are ‘Very Hidden’

Sometimes, despite having some hidden sheets in your workbook, you would not be able to unhide it manually.

This could be because these sheets are not just hidden – these are ‘very hidden’.

You can still unhide these ‘very hidden’ sheets by using the VBA code that we have covered above.

Just copy-paste the below code in the immediate window and hit enter and it would instantly unhide all the sheets (hidden as well as very hidden).

For each Sheet in Thisworkbook.Sheets: Sheet.Visible=True: Next Sheet

I also have a full tutorial on how to hide sheets and make these very hidden (in case you’re interested in learning)

You may also like the following Excel tutorials:

Excel Vba: Giới Thiệu Về Macros Trong Excel

Macro là một chuỗi các lệnh mà bạn có thể sử dụng để tự động hóa các tác vụ được sử dụng thường xuyên để tiết kiệm thời gian gõ phím và thao tác chuột. Một Macro có thể được tạo bằng cách sử dụng Visual Basic for Applications (VBA) và được viết bởi người sử dụng.

VBA (Visual Basic for Applications) là 1 ngôn ngữ lập trình được tích hợp trong ứng dụng văn phòng như Excel, Word, PowerPoint, … Vì vậy, tất cả các chương trình mà bạn thực hiện trong Excel hoặc trong ứng dụng văn phòng khác đã được thực hiện trong VBA.

Về mặt kỹ thuật, VBA là một ngôn ngữ lập trình hướng sự kiện của Microsoft. VBA cũng được gọi là một ngôn ngữ lập trình mở rộng được tạo thành từ một tập các lệnh cốt lõi và được mở rộng trên cơ sở mỗi ứng dụng để có thể làm việc trực tiếp với các đối tượng trong ứng dụng đó.

Visual Basic for Applications (VBA) trong Excel là một ngôn ngữ lập trình nhẹ nhàng, mạnh mẽ cho phép bạn viết các hàm hoặc lệnh của riêng mình trong một bảng tính Excel.

Sử dụng Excel VBA bạn có thể làm hầu như bất kỳ tác vụ nào tương tự trong Excel.

Các đối tượng trong Excel VBA

Chỉ định tên Workbook thao tác là: “Book1.xlsx”

Application.Workbooks("Book1.xlsx")

Worksheets là một thành viên của đối tượng Workbook. Thuộc tính Worksheets() trả về một tập hợp tất cả các sheet của đối tượng Workbook đang được active. Chỉ định tên Worksheet thao tác là: “Sheet1”

Application.Workbooks("Book1.xlsx").Worksheets("Sheet1")

Cuối cùng để trỏ đến Range “A1” của sheet “Sheet1” và gán bằng 100 như sau:

Application.Workbooks("Book1.xlsx").Worksheets("Sheet1").Range("A1").Value = 100

Các bước để viết code và run code VBA trong Excel: 1. Bật Developter tab. 2. Save As Excel file thành Excel Macro File (từ excel 2007 trở lên). 3. Viết code VBA. 4. Run code VBA.

1.Bật Developer Tab

Để mở Developter tab thực theo các bước sau:

Mở một file excel.

Bạn có thể thấy Developer tab bên cạnh View tab như sau:

2. Save As Excel file thành Excel Macro File

Để tạo một macro từ excel, bạn cần phải Save As file excel thành tập tin với phần mở rộng có định dạng .xlsm (excel 2007 trở lên) hoặc .xls (excel 2003)

Note: Để tạo một macro từ excel, nếu bạn đang dùng excel 2003 (.xls) thì bạn không phải làm việc này. Nếu bạn dùng excel 2007 (.xlsx) trở lên thì bạn làm theo các bước sau.

Đến đây là đã tạo được một macro file.

3. Viết code VBA

Mở Visual Basic Editor: chọn Vusual Basic hoặc bấm tổ hợp phím Alt + F11.

4. Run code VBA

Insert button

Tại Developer tab, bạn có thể insert một button như sau:

Gán thủ tục macro cho button

Chọn Desing Mode.

All Rights Reserved

Bạn đang đọc nội dung bài viết 3 Ways To Unhide Multiple Sheets In Excel + Vba Macros trên website Beiqthatgioi.com. Hy vọng một phần nào đó những thông tin mà chúng tôi đã cung cấp là rất hữu ích với bạn. Nếu nội dung bài viết hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất. Chúc bạn một ngày tốt lành!