Solved

Total each row for unknown Rows N

Posted on 2013-10-30
4
268 Views
Last Modified: 2013-10-31
How do I total each row (x), for all seven days?  The number of rows will continue to increase each week (variable Row N). I'd like to do this in VBA.  I need to be able to find the last row (Row N) automatically and sum (Total), for each row.

Row#      Sat      Sun       Mon      Tues      Wed      Thurs      Fri      Total
1                  5      5      5      5      2.5      x
2                  0      0      0      0      1.25      x
3                  2      3      3      3      4.25      x
4                  8      8      8      8      0      x
5                  0      0      0      0      8      x
6                  6      6      5      5      5      x
7                  3      2      4      3      3      x
8                  4      12      2.5      2      2      x
9                  2      3      1.5      0.5      0      x
10                  1      0.5      0      0      2      x
11                  5      5      5      5      2.5      x
.                  0      0      0      0      1.25      x
.                  2      3      3      3      4.25      x
.                  8      8      8      8      0      x
.                  0      0      0      0      8      x
.                  6      6      5      5      5      x
.                  3      2      4      3      3      x
.                  4      4      2.5      2      2      x
.                  2      3      1.5      0.5      0      x
Row N                  1      0.5      0      0      2      x
0
Comment
Question by:dm2121
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
4 Comments
 
LVL 81

Expert Comment

by:byundt
ID: 39612788
Here is a macro that will put the sum formulas on the active worksheet. As written, it is expecting to see the data to be summed in columns B:H, starting in row 2.
Sub Totalizer()
Dim rgData As Range, rgTotals As Range
With ActiveSheet
    Set rgData = Intersect(.UsedRange, .Range("B:H"))       'Data in columns B:H
    Set rgData = rgData.Offset(1, 0).Resize(rgData.Rows.Count - 1)     'Start in row 2
    Set rgTotals = rgData.Columns(1).Offset(0, 7)
End With
rgTotals.FormulaR1C1 = "=SUM(RC" & rgData.Column & ":RC" & (rgData.Column + rgData.Columns.Count - 1) & ")"
End Sub

Open in new window

0
 

Author Comment

by:dm2121
ID: 39613936
Thanks byundt for the quick response!

It seems to work, but I'd like it to find the last row and sum the days from row 2 to Row N; not Row N+1. This week I could have 500 rows and need to total the days; next week it will grow to1149 rows; I don't need to go down 10,000.  I don't want to have "0" in the total after Row N+1.

dm2121
0
 
LVL 81

Accepted Solution

by:
byundt earned 500 total points
ID: 39613963
The code is finding the bottom of your data using the .UsedRange property of the worksheet. There is apparently something in row N+1.

I can alternatively find the last row by looking upwards from the bottom of the worksheet in say column B.
Sub Totalizer()
Dim rgData As Range, rgTotals As Range
Dim N As Long
With ActiveSheet
    N = .Cells(.Rows.Count, "B").End(xlUp).Row          'Find last row of data by looking up from bottom of column B
    Set rgData = Range(.Range("B2"), .Range("H" & N))   'All data in columns B:H, starting in row 2
    Set rgTotals = rgData.Columns(1).Offset(0, 7)
End With
rgTotals.FormulaR1C1 = "=SUM(RC" & rgData.Column & ":RC" & (rgData.Column + rgData.Columns.Count - 1) & ")"
End Sub

Open in new window

0
 

Author Comment

by:dm2121
ID: 39614032
byunt,

You are correct! Your solution is perfect and works as planned!  

Please disregard my first comment; the problem came from my end.

Thank you very much for your great expertize!

Regards,

dm2121
0

Featured Post

U.S. Department of Agriculture and Acronis Access

With the new era of mobile computing, smartphones and tablets, wireless communications and cloud services, the USDA sought to take advantage of a mobilized workforce and the blurring lines between personal and corporate computing resources.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This collection of functions covers all the normal rounding methods of just about any numeric value.
Article by: Leon
Software Metering within our group of companies has always been an afterthought until auditing of software and licensing became a pain point. Orchestrator and SCCM metering gave us the answer and it was an exciting process.
Viewers will learn how to maximize accessibility options in an Excel workbook for users with accessibility issues.
The view will learn how to download and install SIMTOOLS and FORMLIST into Excel, how to use SIMTOOLS to generate a Monte Carlo simulation of 30 sales calls, and how to calculate the conditional probability based on the results of the Monte Carlo …
Suggested Courses

636 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question