View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
K Dales[_2_] K Dales[_2_] is offline
external usenet poster
 
Posts: 1,163
Default Select a column based on a cell entry

You were very, very close to having it!

Public Sub HideColumns()
Dim I as Integer, col As Range

For I = 1 To ThisWorkbook.Worksheets.Count
For Each col In Worksheets(I).Columns
If col.Cells(15, 1) = "HIDE" Then col.Hidden = True
Next col
Next I

End Sub

NOTE: in code you do not need to Select a book, sheet, or range in order to
use it, as long as you provide the proper object references
--
- K Dales


" wrote:

I've been struggling for a day now in trying to write a macro that will
cycle through all the worksheets in a workbook, then check each column
for the word "HIDE" in a certain row (15) in each column, then if it
finds it, hides the column.

e.g.(with a bit of psudo code thrown in :-(

For I = 1 To Worksheets.Count
ActiveWorkbook.Worksheets(I).Select

For Each col In Worksheets(I).Columns

if row 15 = "HIDE"
Then
Column(col).Select
Selection.EntireColumn.Hidden = True
Next col

Next


I've tried most things, but my VBA skills are not yet good enough to
manage this.

Any help anybody?? Please??