I'd do that a bit differently, myself.
This is how I would code it:
Code:
Public Function SumsOverZero(wsSource As Worksheet, iColNumberToCheck As Long) As Boolean
'Returns True if column contains any values and those values are > 0
Dim wsf As WorksheetFunction, bIsZero
Set wsf = Excel.Application.WorksheetFunction
SumsOverZero = wsf.CountIf(wsSource.Columns(iColNumberToCheck), ">0") > 0
End Function
Public Sub HideZeroColumns()
'Hides columns with no values over 0 for columns A through E
Dim wsSheet As Worksheet, rWholeRange As Range, rThisCol As Range
Set wsSheet = ActiveSheet
Set rWholeRange = wsSheet.Range("A1:G1") 'Use only 1 row to limit to 1 itteration for each column
For Each rThisCol In rWholeRange
wsSheet.Columns(rThisCol.Column).Hidden = Not SumsOverZero(wsSheet, rThisCol.Column)
Next
End Sub