Hide Columns

mathsbeauty

Board Regular
Joined
Apr 23, 2011
Messages
89
Hello! I am new here. I am learning macros in excel. I am stuck with the following situation. I need macro which:
i) Shows column C and D.
ii) Shows column F but those cells which contain "NO" in column F are not shown.
iii) All other columns are hidden.
Thus the problem is to hide all columns except C, D and F and to hide those cells in F which contains "NO".

I hope to get some help from experts. I will be really thankful for the help that I may get.
 

Excel Facts

Copy formula down without changing references
If you have =SUM(F2:F49) in F50; type Alt+' in F51 to copy =SUM(F2:F49) to F51, leaving the formula in edit mode. Change SUM to COUNT.
I think you should be able to do this with the macro recorder.

Just record :- the required filter on column F and the hiding of all columns except C, D, and F.
 
Upvote 0
Hello Boller! Actually I want to learn this for something more general. I need this macro to be used on various worksheets containing different columns. So recording may not help. Thanks for your suggestion.
 
Upvote 0
Recorded or written, it would still be specific to those exact criteria.

If you want something flexible then you need to include criteria to identify the columns as the correct ones to show / hide.
 
Upvote 0
Hello Jasonb75! Is there any way in which we can identify all other columns except few specified in excel? e.g. Is it possible to write a macro which only shows column F and all other are hidden? By all other I mean that the only one column is shown, even blank columns are hidden.
 
Upvote 0
That is easily done, but you still need to decide how you're going to 'specify' the few exceptions.

Also, is it always "No" to be hidden in column F? If not, again you need a way to define how to choose the correct criteria.
 
Upvote 0
Hello Boller! Actually I want to learn this for something more general. I need this macro to be used on various worksheets containing different columns. So recording may not help. Thanks for your suggestion.

This requirement is a lot different from your original post.

If you really want to learn VBA, start by recording what you want based on your original post and then learn from the code that is produced.

If you cannot then adjust the code obtained to fit your general requirements, post again
 
Upvote 0
What you asked for would be something like

Code:
Sub test()
    Cells.EntireColumn.Hidden = True
    Range("C:D", "F").EntireColumn.Hidden = False
    ActiveSheet.[F1].AutoFilter Field:=1, Criteria1:="<>no"
    Application.Goto [a1]
End Sub

although I'm not convinced that what you really want will be anywhere near that.
 
Upvote 0
What you asked for would be something like

Code:
Sub test()
    Cells.EntireColumn.Hidden = True
    Range("C:D", "F").EntireColumn.Hidden = False
    ActiveSheet.[F1].AutoFilter Field:=1, Criteria1:="<>no"
    Application.Goto [a1]
End Sub

although I'm not convinced that what you really want will be anywhere near that.

Which is what he could get from the macro recorder.
 
Upvote 0

Forum statistics

Threads
1,224,542
Messages
6,179,424
Members
452,914
Latest member
echoix

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top