It still wouldn't open, but I was able to save it, so I went that route. Paste the following code into the code module of the Dashboard sheet. To make it work you'll need to adjust the headings on the Data sheet (which are qq - yyyy) to match the validation values (which are yyyy - qq).
Private Sub Worksheet_Change(ByVal Target As Range)
Dim col As Long
If Target.Address = Range("START").Address Or Target.Address = Range("STOP").Address Then
If Range("START").Value >= Range("STOP").Value Then
MsgBox "Start value must be < Stop value"
Else
Application.ScreenUpdating = False
col = 9
With Sheets("DATA")
Do Until .Cells(1, col).Value = Range("START").Value Or .Cells(1, col).Value = ""
.Columns(col).Hidden = True
col = col + 1
Loop
Do Until .Cells(1, col).Value > Range("STOP").Value Or .Cells(1, col).Value = ""
.Columns(col).Hidden = False
col = col + 1
Loop
Do Until .Cells(1, col).Value = ""
.Columns(col).Hidden = True
col = col + 1
Loop
End With
End If
End If
End Sub
Bookmarks