Sum Columns

Z

Zone

Another post got me interested in this. It's desired to put the sum at
the bottom of columns C through E. I want to put the sum there, not a
formula. I thought some kind of R1C1 notation would be necessary, but
I got this method from help. The notation seems odd but it works well.
Is this the best way to do it?
TIA, James

Sub SumCols()
Dim k As Integer, LastRow As Long, myRg As Range
For k = 3 To 5
LastRow = Cells(65536, k).End(xlUp).Row
Set myRg = Range(Cells(2, k), Cells(LastRow, k))
Cells(LastRow + 1, k) = Application.WorksheetFunction.Sum(myRg)
Next k
End Sub
 
B

Bob Phillips

Nothing wring with that per se.

You shouldn't hard-code the number of rows though, and you could also use
Resize

Sub SumCols()
Dim k As Integer, LastRow As Long, myRg As Range
For k = 3 To 5
LastRow = Cells(Rows.Count, k).End(xlUp).Row
Set myRg = Cells(2, k).Resize(LastRow -1)
Cells(LastRow + 1, k) = Application.WorksheetFunction.Sum(myRg)
Next k
End Sub

--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)
 
Z

Zone

Thanks, Bob. Interesting. Will study. James
Bob said:
Nothing wring with that per se.

You shouldn't hard-code the number of rows though, and you could also use
Resize

Sub SumCols()
Dim k As Integer, LastRow As Long, myRg As Range
For k = 3 To 5
LastRow = Cells(Rows.Count, k).End(xlUp).Row
Set myRg = Cells(2, k).Resize(LastRow -1)
Cells(LastRow + 1, k) = Application.WorksheetFunction.Sum(myRg)
Next k
End Sub

--
HTH

Bob Phillips

(replace somewhere in email address with gmail 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

Top