View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
James T James T is offline
external usenet poster
 
Posts: 14
Default VBA to hide columns

I have a spreadsheet that is structured as below:

July July July August August August September September
September....etc

each of the above are in different columns.

I need to create a macro that will hide those columns that are not within a
start Month (which I have in a named range), lets say it is JULY, and an end
month (which I have in a named range), lets say it is AUGUST.

I have used the below code, however it does not work exactly. What it does
is it shows all the July Columns (great) BUT it only shows the first August
column (whereas I want to see all the August columns.

Sub ReportColumn()
' Commence hidding unselected columns
I = 1
For Each Cell In Worksheets("Report").Range("B3:AK3")
Select Case I
Case 1
If Cell.Value < Worksheets("Settings").Range("PeriodFrom")
Then
Cell.EntireColumn.Hidden = True
Else
I = I + 3
Cell.EntireColumn.Hidden = False
End If
Case 2
If Cell.Value = Worksheets("Settings").Range("PeriodTo") Then
I = I + 3
Cell.EntireColumn.Hidden = False
End If
Cell.EntireColumn.Hidden = False
Case 3
Cell.EntireColumn.Hidden = True
End Select
Next
End Sub


Any suggestions?????