Hi

Try this

Private Sub Worksheet_Change(ByVal Target As Range)

  Range("F:AJ").EntireColumn.Hidden = False
  For i = 6 To 36
    If Range("D2") <> "All" And Cells(2, i) <> Range("D2") Or Cells(8, i) < 1 Then
      Cells(1, i).EntireColumn.Hidden = True
    
    End If
  Next i
  Range("E1").Select

End Sub
I've also changed the final cell selection to be E1 instead of F1 as column F may be hidden at some stage.

rylo