How about?
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
If Target.Count > 1 Then Exit Sub
Set rng = Target.Parent.Range("B2")
If Intersect(Target, rng) Is Nothing Then Exit Sub
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
Cells.EntireColumn.Hidden = False
Select Case rng
Case 0
Cells.EntireColumn.Hidden = False
Case 1
Range("C1,E1,G1,I1,K1").EntireColumn.Hidden = True
Case 2
Range("D1,F1,H1,J1,L1").EntireColumn.Hidden = True
End Select
Set rng = Nothing
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
End Sub
Paste code in a Sheet module- Where to paste code
- Highlight macro to copy >> Ctrl + C >> Open your workbook
- Right click on sheet tab >> View Code >> opens the Visual Basic Editor (VBE)
- Ctrl + R >> opens the Project Explorer (if not already open on left side of screen)
- Paste code >> Ctrl + V (right side of screen)
- Alt + Q >> exits VBE and returns to Excel
- Now simply make a change in target cell
Bookmarks