Sub Hide_Cols()
Dim c As Range
Range(ActiveCell, Selection.End(xlToRight)).Select
For Each c In Selection
If c.Value = 0 Or c.Value = "" Then c.EntireColumn.Hidden = True
Next
End Sub
The Unhide_All_Cols macros does just that
Sub Unhide_All_Cols()
Columns("A:A").Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.EntireColumn.Hidden = False
Range("A1").Select
End Sub