Forum Discussion

Excel's avatar
Excel
Iron Contributor
Jul 01, 2021
Solved

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...

  • Excel 

    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

    • Excel's avatar
      Excel
      Iron Contributor

      PeterBartholomew1 

      Hello Sir,

      Thank you for the response😊

      This formula is Great😊

      Actually i practice Excel formula as well as VBA code.

  • Excel's avatar
    Excel
    Iron Contributor

    Thank you for the reply.

    But sir i want sum of each category with the help of VBA..

     

    Please help..??

    • Excel 

      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
      • Excel's avatar
        Excel
        Iron Contributor
        Thank you So Much sir.
        It works😊😊
  • NikolinoDE's avatar
    NikolinoDE
    Gold Contributor

    Excel 

    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 🙂

    TRANSPOSE function

    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)

Resources