I have created a macro (which works) that goes through all columns that i know i am using, checks to see if the sum of those columns is equal to zero or not, and if they are equal to zero then the macro will hide the columns individually (Please see my current macro below).
However, new columns can get added fairly regularly, so i was hoping someone could help create a loop that goes through all used columns instead rather than having to set each used column as a variable within the macro.
Sub RemoveEmptyColumns() Application.ScreenUpdating = False Dim column1 As Double, column2 As Double, column3 As Double Dim column4 As Double, column5 As Double, column6 As Double Dim column7 As Double, column8 As Double, column9 As Double Dim column10 As Double, column11 As Double, column12 As Double Dim column13 As Double, column14 As Double, column15 As Double Dim column16 As Double, column17 As Double, column18 As Double Dim column19 As Double, column20 As Double, column21 As Double Dim column22 As Double, column23 As Double, column24 As Double Dim column25 As Double, column26 As Double, column27 As Double Dim column28 As Double, column29 As Double, column30 As Double Dim column31 As Double, column32 As Double, column33 As Double Dim column34 As Double, column35 As Double, column36 As Double Dim column37 As Double column1 = Application.WorksheetFunction.Sum(Range("D4:D708")) column2 = Application.WorksheetFunction.Sum(Range("E4:E708")) column3 = Application.WorksheetFunction.Sum(Range("F4:F708")) column4 = Application.WorksheetFunction.Sum(Range("G4:G708")) column5 = Application.WorksheetFunction.Sum(Range("H4:H708")) column6 = Application.WorksheetFunction.Sum(Range("I4:I708")) column7 = Application.WorksheetFunction.Sum(Range("J4:J708")) column8 = Application.WorksheetFunction.Sum(Range("K4:K708")) column9 = Application.WorksheetFunction.Sum(Range("L4:L708")) column10 = Application.WorksheetFunction.Sum(Range("M4:M708")) column11 = Application.WorksheetFunction.Sum(Range("N4:N708")) column12 = Application.WorksheetFunction.Sum(Range("O4:O708")) column13 = Application.WorksheetFunction.Sum(Range("P4:P708")) column14 = Application.WorksheetFunction.Sum(Range("Q4:Q708")) column15 = Application.WorksheetFunction.Sum(Range("R4:R708")) column16 = Application.WorksheetFunction.Sum(Range("S4:S708")) column17 = Application.WorksheetFunction.Sum(Range("T4:T708")) column18 = Application.WorksheetFunction.Sum(Range("U4:U708")) column19 = Application.WorksheetFunction.Sum(Range("V4:V708")) column20 = Application.WorksheetFunction.Sum(Range("W4:W708")) column21 = Application.WorksheetFunction.Sum(Range("X4:X708")) column22 = Application.WorksheetFunction.Sum(Range("Y4:Y708")) column23 = Application.WorksheetFunction.Sum(Range("Z4:Z708")) column24 = Application.WorksheetFunction.Sum(Range("AA4:AA708")) column25 = Application.WorksheetFunction.Sum(Range("AB4:AB708")) column26 = Application.WorksheetFunction.Sum(Range("AC4:AC708")) column27 = Application.WorksheetFunction.Sum(Range("AD4:AD708")) column28 = Application.WorksheetFunction.Sum(Range("AE4:AE708")) column29 = Application.WorksheetFunction.Sum(Range("AF4:AF708")) column30 = Application.WorksheetFunction.Sum(Range("AG4:AG708")) column31 = Application.WorksheetFunction.Sum(Range("AH4:AH708")) column32 = Application.WorksheetFunction.Sum(Range("AI4:AI708")) column33 = Application.WorksheetFunction.Sum(Range("AJ4:AJ708")) column34 = Application.WorksheetFunction.Sum(Range("AK4:AK708")) column35 = Application.WorksheetFunction.Sum(Range("AL4:AL708")) column36 = Application.WorksheetFunction.Sum(Range("AM4:AM708")) column37 = Application.WorksheetFunction.Sum(Range("AN4:AN708")) If column1 = 0 Then Columns("D:D").Select Selection.EntireColumn.Hidden = True End If If column2 = 0 Then Columns("E:E").Select Selection.EntireColumn.Hidden = True End If If column3 = 0 Then Columns("F:F").Select Selection.EntireColumn.Hidden = True End If If column4 = 0 Then Columns("G:G").Select Selection.EntireColumn.Hidden = True End If If column5 = 0 Then Columns("H:H").Select Selection.EntireColumn.Hidden = True End If If column6 = 0 Then Columns("I:I").Select Selection.EntireColumn.Hidden = True End If If column7 = 0 Then Columns("J:J").Select Selection.EntireColumn.Hidden = True End If If column8 = 0 Then Columns("K:K").Select Selection.EntireColumn.Hidden = True End If If column9 = 0 Then Columns("L:L").Select Selection.EntireColumn.Hidden = True End If If column10 = 0 Then Columns("M:M").Select Selection.EntireColumn.Hidden = True End If If column11 = 0 Then Columns("N:N").Select Selection.EntireColumn.Hidden = True End If If column12 = 0 Then Columns("O:O").Select Selection.EntireColumn.Hidden = True End If If column13 = 0 Then Columns("P:P").Select Selection.EntireColumn.Hidden = True End If If column14 = 0 Then Columns("Q:Q").Select Selection.EntireColumn.Hidden = True End If If column15 = 0 Then Columns("R:R").Select Selection.EntireColumn.Hidden = True End If If column16 = 0 Then Columns("S:S").Select Selection.EntireColumn.Hidden = True End If If column17 = 0 Then Columns("T:T").Select Selection.EntireColumn.Hidden = True End If If column18 = 0 Then Columns("U:U").Select Selection.EntireColumn.Hidden = True End If If column19 = 0 Then Columns("V:V").Select Selection.EntireColumn.Hidden = True End If If column20 = 0 Then Columns("W:W").Select Selection.EntireColumn.Hidden = True End If If column21 = 0 Then Columns("X:X").Select Selection.EntireColumn.Hidden = True End If If column22 = 0 Then Columns("Y:Y").Select Selection.EntireColumn.Hidden = True End If If column23 = 0 Then Columns("Z:Z").Select Selection.EntireColumn.Hidden = True End If If column24 = 0 Then Columns("AA:AA").Select Selection.EntireColumn.Hidden = True End If If column25 = 0 Then Columns("AB:AB").Select Selection.EntireColumn.Hidden = True End If If column26 = 0 Then Columns("AC:AC").Select Selection.EntireColumn.Hidden = True End If If column27 = 0 Then Columns("AD:AD").Select Selection.EntireColumn.Hidden = True End If If column28 = 0 Then Columns("AE:AE").Select Selection.EntireColumn.Hidden = True End If If column29 = 0 Then Columns("AF:AF").Select Selection.EntireColumn.Hidden = True End If If column30 = 0 Then Columns("AG:AG").Select Selection.EntireColumn.Hidden = True End If If column31 = 0 Then Columns("AH:AH").Select Selection.EntireColumn.Hidden = True End If If column32 = 0 Then Columns("AI:AI").Select Selection.EntireColumn.Hidden = True End If If column33 = 0 Then Columns("AJ:AJ").Select Selection.EntireColumn.Hidden = True End If If column34 = 0 Then Columns("AK:AK").Select Selection.EntireColumn.Hidden = True End If If column35 = 0 Then Columns("AL:AL").Select Selection.EntireColumn.Hidden = True End If If column36 = 0 Then Columns("AM:AM").Select Selection.EntireColumn.Hidden = True End If If column37 = 0 Then Columns("AN:AN").Select Selection.EntireColumn.Hidden = True End If Application.ScreenUpdating = True End Sub Any help would be much appreciated.
Thanks!
Hiding Columns That Are Empty (=0)There is a difference between being empty and then their sum being equal to 0. two cells having the value0will give you a sum of0or even having values of1and-1. However these are not empty columns