Description:

We may need to Hide UnHide the Columns in Excel for some types of requirements. For examples we may have data for 3 different categories and want to show it based on the user selection. We can achieve this by Hiding or Un-hiding the Columns in Excel. We will see this in the following examples…

Hide UnHide Columns in Excel Worksheet using VBA – Solution

We can use EntireColumn.Hidden property of a Column. You can set the property value to TRUE if you want to hide, Set to FALSE if you want to un-hide the Columns.

Hide-UnHide Columns in Excel Worksheet using VBA – An Example

The following example will show you how to hide and unhide the Columns in Excel using VBA. In this example I am hiding the Columns B,C and D by setting the Hidden property as TRUE. And then un hiding by setting the Hidden=FALSE.

Code:
Sub sbHidingUnHideColumns()
'To Hide Columns B to D
Columns("B:D").EntireColumn.Hidden = True
'To UnHide Columns B to D
Columns("B:D").EntireColumn.Hidden = False
End Sub
Instructions:
  1. Open an excel workbook
  2. Enter some data in the Range A1 to F5
  3. Press Alt+F11 to open VBA Editor
  4. Insert a Module for Insert Menu
  5. Copy the above code and Paste in the code window
  6. Save the file as macro enabled workbook
  7. Press F5 to run it
Input:

Download the example file available at end of the topic and execute the macros.

Output:

Here is sample screen-shot of the example file.
Hide Unhide Columns Examples

Hide-UnHide Columnsin Excel Worksheet using VBA – Case study

Here is the example case study. You can download the file below and see how its working. You can click on the buttons to view the respective data.

Hide Unhide Columns Examples Case Study

Hide Unhide Columns Examples Case Study

Hide Unhide Columns Examples Case Study 3

Hide-UnHide Columns in Excel Worksheet using VBA – Download Example File

You can download the example file and see the code for each button.
ANALYSISTABS – Hide-Unhide Columns

Hide Columns Based On Condition in Excel Worksheet using VBA

We can hide the columns based on certain condition. The below macro will loop through the first 25 columns and check if the value in the row 1 is 0, then hide it.

Example 1

Example macro to check if row 1 of a column is 0 and hide:

Sub hideColumnsBasedOnConditionZero()
LastColumn = 25 'Last Column
For i = 1 To LastColumn 'Lopping through each Column
'Hide all the columns with the values as 0 in Row 1
If Cells(1, i) = 0 And Cells(1, i) <> "" Then Columns(i).EntireColumn.Hidden = True
Next
End Sub

Example 2

Example macro to check if row 1 of a column is 0 or blank and hide:


Sub hideColumnsBasedOnConditionZeroBlank()
LastColumn = 25 ‘Last Column
For i = 1 To LastColumn ‘Lopping through each Column
‘Hide all the columns with the values as 0 in Row 1
If Cells(1, i) = 0 or Cells(1, i) = “” Then Columns(i).EntireColumn.Hidden = True

Next
End Sub

Hey! Join Our Community

Get Quick Responses & Experts' Answers in Minutes!
Get Notified - When Answered Your Question!