Forum Discussion
Sum of rows with the help of VBA
Hello Everyone,
I want to create a total column at the end that sums each row.
so instead of summing each column for Jan, Feb and Mar vertically, I want to sum each row for Jan, Feb, and Mar horizontally in each sheet with the help of VBA code
like -
Please help..??
Here is a attached file...
Sub CreateRowSums() Dim wsh As Worksheet Dim lr As Long Dim lc As Long Application.ScreenUpdating = False For Each wsh In Worksheets lr = wsh.Cells.Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row lc = wsh.Cells.Find(What:="*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column wsh.Cells(2, lc).Resize(lr - 1).FormulaR1C1 = "=SUM(RC3:RC[-1])" Next wsh Application.ScreenUpdating = True End Sub
6 Replies
- PeterBartholomew1Silver Contributor
Forgive me for asking, but why are you attracted to VBA when ordinary worksheet formulas should provide the same results?
- ExcelIron Contributor
Hello Sir,
Thank you for the response😊
This formula is Great😊
Actually i practice Excel formula as well as VBA code.
- ExcelIron Contributor
Thank you for the reply.
But sir i want sum of each category with the help of VBA..
Please help..??
Sub CreateRowSums() Dim wsh As Worksheet Dim lr As Long Dim lc As Long Application.ScreenUpdating = False For Each wsh In Worksheets lr = wsh.Cells.Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row lc = wsh.Cells.Find(What:="*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column wsh.Cells(2, lc).Resize(lr - 1).FormulaR1C1 = "=SUM(RC3:RC[-1])" Next wsh Application.ScreenUpdating = True End Sub
- ExcelIron ContributorThank you So Much sir.
It works😊😊
- NikolinoDEGold Contributor
There are many ways that lead to Rome .... again as many possibilities in Excel to approach a problem, let alone the vast number of suggested solutions that arise from it.
Simplified: Everything is possible with Excel ... if not everything, then most of it :)).Here is a suggested solution with a formula, dont need always VBA 🙂
Sometimes you need to switch or rotate cells. You can do this by copying, pasting, and using the Transpose option. But doing that creates duplicated data. If you don't want that, you can type a formula instead using the TRANSPOSE function.
Hope I could help
Nikolino
I know I don't know anything (Socrates)