Extend to more columns

T

teresa

Hi, the following code sums Column B,
However I need to do the same for each column, B-I.
Then, If a sum = 0 I need to delete that column,
the following code requires a few extra lines, help is much appreciated

Sub intq()

Dim intNumRows As Integer, c As Variant, lngCellTotal As Long


intNumRows = Cells(50, "h").End(xlUp).Row
With Range("h" & intNumRows + 1)
' .Borders(xlEdgeLeft).Weight = xlMedium
.Borders(xlEdgeTop).Weight = xlMedium

End With
For Each c In Range("h1", "h" & intNumRows)
lngCellTotal = lngCellTotal + c.Value
Next
Range("h" & intNumRows + 1) = lngCellTotal
* If lngCellTotal = 0 Then
* Range("IngCellTotal").Columns.Delete

* End If

End Sub
 
N

Nick Hodge

Teresa

I believe the code below does what you want

Sub DeleteZeroCols()
Dim x As Integer
For x = 9 To 2 Step -1
If Application.WorksheetFunction.Sum(Columns(x).EntireColumn) = 0 Then
Columns(x).EntireColumn.Delete
End If
Next x
End Sub

--
HTH
Nick Hodge
Microsoft MVP - Excel
Southampton, England
(e-mail address removed)
 
B

Bob Phillips

Sub intq()

Dim intNumRows As Integer, c As Range, lngCellTotal As Long
Dim i As Long

For i = 9 To 2 Step -1 'I to B
intNumRows = Cells(50, i).End(xlUp).Row
lngCellTotal = 0
For Each c In Range(Cells(1, i), Cells(intNumRows, i))
lngCellTotal = lngCellTotal + c.Value
Next
If lngCellTotal = 0 Then
Columns(i).EntireColumn.Delete
Else
With Cells("h" & intNumRows + 1)
' .Borders(xlEdgeLeft).Weight = xlMedium
.Borders(xlEdgeTop).Weight = xlMedium
.Value = lngCellTotal
End With
End If
Next i

End Sub

--

HTH

RP
(remove nothere from the email address if mailing direct)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads

Looping through columns 2
Summing 4
Looping & Summing 2
Looping & Dumping 0
Complie error: Wrong number of arguments or invalid property assi 4
Border formatting row of cells 22
Cell Border 1
Help with macro 1

Top