# Macro That Will Calculate Sum Of Cells Even If Rows Are Added

Feb 12, 2014

So I'm trying to create a macro that will simplify dealing with a file we receive at work pretty often. I've enclosed a spreadsheet that shows a very basic example of the files we receive. What I need to happen is this: On the rows that have only the Company # in column A and Total \$ in column D (ie. rows 5 and 6), I need the Total \$ amount moved up one row and then for the row it was previously in to be deleted (at that point that row should only have the Company \$ and no other data in it so it's basically useless). The problem I'm having is that if any rows are added to the file (for instance if an row was added between rows four and five) it would throw off my macro.

## Macro Runs Fast When Rows Added / Deleted Slow When No Rows Added / Deleted

Jun 27, 2013

We have created a macro that basically looks for rows that contain an "H" and hides the row if it does.

Users can add new rows throughtout the year to this spreadsheet. and based on certain criteria, an H or U will be placed in a hidden column which the macro looks at and hides any row it finds an H.

The user has to click on the button that has the macro assigned to it once they have finished working on the spreadsheet.

The problem we're finding is that for users who insert/delete rows, once they click the button it takes up to 15 seconds to run through macro (which is ok). However, users who haven't added or deleted any rows and who click the button, they have to wait upto 5 minutes (which isn't ok) for the macro ro run.

We can't figure out why the macro takes longer to run when no changes have been made?

## Summary Sheet Calculate Results Change If Rows Added/deleted In Detail Spreadsheet

Feb 27, 2009

[Excel 2003] I have 2 spreadsheets: one to summarize data from a 2nd detail spreadsheet. I'm analyzing work order information for a service operation.

I'm using dynamic name ranges, as follows, for the detail:

WO_Num =OFFSET('WO Tracking Log'!\$A6,0,0,COUNT('WO Tracking Log'!\$A:\$A),1)

Other detail data is defined as these examples show:

GM_X =OFFSET(WO_Num,0,8)
OpenDate =OFFSET(WO_Num,0,1)

All detail data begins in Row 6 in the detail spreadsheet.

In the Summary spreadsheet, it appears to make a difference where my calcs are located in order for my COUNTIF's to work correctly. As long as I keep my summary calc (to total the number of work orders in the detail) in Row 2 of the Summary, it works fine...but if EITHER I move my calc down a row OR if my detail drops down a row because a row was added above (where I have just header info), my summary totals change?!?! I don't understand.

Here are two examples of the calcs I'm using in the summary:

=COUNTIF(WO_Num,">0")
=COUNTIF(GM_X,"X")

Can someone tell me what is going on? What I'm doing wrong?

## How To Automatically Update A Macro To Adjust For Rows Being Added

Mar 5, 2013

I have a worksheet used for a car game. Each row is designated to show one particular car that can be used in the game, so let's say that there are 40 cars taking up 40 rows.

Column A shows the car type and model; column B shows the engine that the cars has represented by a number (the higher the number the better the engine is); and so it continues, Column C shows the transmission; column D the brakes etc.

Underneath the 40 rows (lets say from row 45 to 65) I then have a table with spare-parts that can be used to replace the cars existing parts. This Parts-table is also arranged with engines in column B, transmissions in column C, brakes in column D etc...

This point of this layout is that it should be easy to compare each type of part in the spare-parts table with the corresponding type of part already used in any of the cars as everything is perfectly lined up by the columns.

About the spare-parts table: because the inventory in the spare-parts table often are added to or subtracted from, as parts are won in races or being put on the cars, I have created a macro to sort the parts in each column so as to put the best parts at the top of the table and the bad ones towards the bottom - so far so good.

The problem is this - as I add new cars, the table of spare-parts is pushed down worksheet and that means that the macro no longer will reference the right rows. So the question is this, how do I automatically update the macro to adjust for rows being added above it? I am not really interested in redesigning the worksheet.

Oct 23, 2006

How do I apply a formula to every cell in a given column?

I'd like my workbook to store this formula:
=c<current_row> + d<current_row>
in every cell of column P as a default.

This means that even if I do "insert row", I wouldn't have to copy this formula into the new cell.

## SUM Account For Added Rows

Jan 4, 2007

I've created a simple budget sheet outlining various group expenses eg: Fixed, Flexible, Variable, and their totals sums.

How can I add all totals while still allowing for a new row to be inserted in any group?

eg:..............Row E

1........Fixed Expense group
2..................\$20.00
3..................\$40.00
4..................\$40.00
5....Total sum \$100.00
6.......Flexible Expenses group
7...................\$10.00
8...................\$20.00
9...................\$20.00
10..................\$10.00
11..................\$50.00
12...Total sum \$110.00
13......Variable expenses group
14..................\$10.00
15..................\$10.00
16..................\$10.00
17..................\$20.00
18..................\$10.00
19....Total sum \$60.00
20--------------------
21..Grand Total \$270.00

## Format Range When New Rows Added

Jul 24, 2009

I have a worksheet on which users will enter data one row at a time, in columns A-K. When the user starts to enter data in a new row #, that is, when they make any column in the next, unused row have non-blank value, I'd like the sheet to update the borders of the row for columns A-K. I want the Range from A1 to K# to have full borders, so that the whole data set is outlined and easier to read.

For a bonus, I'd like the formulas from the previous H, I, and J cells copied down into H#, I#, and J#, adjusted appropriately for their reference changes.

Normally, I would work around the edges of such a VB problem by recording the actions manually and then modifying that code as I learned more. But I'm not sure if what I've done is the right way to start that process. I think that if I use the CurrentRegion property, and the Worksheet_Change event, I'll be well on my way.

## Moving Rows When New Information Is Added

May 18, 2012

I have a workbook where on one sheet various peoples information is listed and based on their organization the information is then linked to one of a few different worksheets for costs. On the cost worksheets, when a new person is added to the original worksheet, their information populates the next row. At the end of the cost columns I have a the total cost of each person added together. What I need to do is have these totals continue to move down the worksheet as new people are added. Is there a way to do this in excel using VBA or another function?

## Formatting New Rows Added Automatically

Dec 10, 2009

I am working on a spreadhseet with multiple tables present on the sheet. Each table has various formatting, merged cells, formulas, and defined lists. I need to have the table add a new row below the last including cell formatting, formulas, defined lists, so I can just keep going through and do data entry. The code adds a row at the end so I don't run into the table below the present one, by monitoring how far away it is from the "Type" cell tag in column A. The code below is a compilation from viewing other threads, but it just does a copy and paste, including the data that was input so I'm looking at a duplicate row. How can I get ito to clear values in the new row? I can't seem to get it to paste xlPasteFormat and xlPasteFormulas
Is the new row in fact being added below the last? I think it's up one after the macro had run through.

Private Sub Worksheet_Change(ByVal Target As Range)
r = Target.Row
c = Target.Column
If c <> 1 Then Exit Sub
Application.EnableEvents = False
NextLineValue = Cells(r + 3, c)
If NextLineValue = "Type" Then
ActiveCell.EntireRow.Insert
ActiveCell.Offset(1, 0).EntireRow.Copy
ActiveCell.Offset(0, 0).EntireRow.PasteSpecial xlPasteAll
Application.CutCopyMode = False
End If
Application.EnableEvents = True

End Sub

## Extend Formula When Rows Added

Jan 5, 2007

I have a sheet (Sheet 3) that is pre-populated from another sheet (Sheet 1), and the user is allowed to update the numbers (for forecasting).

I have a column ( Total Hours) that I use to total the new numbers in the row.

If the user inserts a row, the Total Hours formula does not follow. This is the Total Hours formula that I am using SUM Formula
(=IF(SUM(\$G30:\$AP30)=0,"",SUM(\$G30:\$AP30))

How do I (Can I) get the formula to cascade into the new row.

## Calculate Certain Cells On Two Different Worksheets Using VB Macro?

Sep 8, 2009

I have question on how to calculate the certain cells between 2 different worksheets based on the certain calculation parameters and the comparison result (the report) is put into the new worksheet on the same workbooks.

1) Worksheet1 contains: DEPTH, G1, C1, N1, D1, S1, SR1, MR1, DR1
2) Worksheet2 contains: DEPTH, G2, C2, N2, D2, S2, SR2, MR2, DR2

Expected result should be put in Worksheet3: DEPTH, G1, G2, calculation(G1 and G2), CI1, C2, calculation(C1 and C2), so on until the last columns. (find example on attached file "Test_Data.xls)

What I have done is to create a template to be filled in by copy and paste DEPTH, G1, G2 on worksheet1, DEPTH, C1, C2 on worksheet2, so on (attached file "Template_QC.xls"). Then I create a calculation macro for each of those worksheets separately to calculate the difference and color them . The calculation macro that I used is as follows:

## Unchanging Sheet Reference When Rows Are Added

Oct 28, 2009

I have a sheet titled PartNumbers....which contains in numerical order just 1 column of random 1, 2, or 3 character numerical part numbers. nothing special. and not necessarily in 1 by 1 order. like 45,46,47,48,49, it will skip number more like 45, 49, 50, 55. I have another sheet titled FinalReport.....that takes the raw data i have from the PartNumbers sheet and outputs the data onto a nice pretty looking designed sheet.

on 1 column of FinalReport I have =PartNumber!C2, C3, C4 and so on for the total number of parts i have to fill in the FinalReport sheet for each cell. The Question is, on PartNumbers when I want to add a part, say my sheet goes number 45 then 49 and i want 46... What I do is right click row number and select Insert, that adds a new row for my new part number. Now that move doesn't correspond to FinalReport now, it just removes the row i inserted. How do I get everything to flow to FinalReport?

Jun 30, 2014

I'm using a workbook that has one sheet that pulls data from all the others, displaying a series of rows that summarizes data from each worksheet, each of which is full of data. Its a worksheet that a lot of people use so its kind of tedious to use as of now, because whenever you add a new worksheet of data you have to manually create a row and then manually change all the worksheet references. Is there a way to make rows automatically add and update when a new worksheet is added? I know it would probably have involve some sort of Macro or VBA.

## Sum Do Not Include Rows Added After The Predefined Sum Range

Apr 16, 2008

I'm looking for: a cell (in column C) that sums Column C from C6 to the row above said cell. (A Total) So if new rows were added, these values would be included in the sum.

What I'm currently working with is a simple Sum formula, but this sum does not include rows added after the predefined sum range.

Apr 4, 2008

I'm using a template that has formulas using a \$ sign to attempt to stop the ranges they refer to changing. The problem is, when I use the template (which involes Access importing some data and adding columns to the sheet the formula refers to in the process) the rows referred to in the formula change in line with the number of rows of data that have been imported. Only the row numbers change not the column headings. So for example:

becomes

## Added Up # Of Cells Containing A Specified Word

Feb 24, 2006

In cell A1 I would like to have a formula that indicates the number of times the word "Yellow Pages" appears in cells C10:C1000. The C column inidicates a referral source. So some of the cells will have "Yellow Pages" and some wont. In cell A1 I would like to have it tell me the total # of referrals from the lead source "Yellow Pages".

## Thousands Of Cells Added To End After Formula Run

Dec 17, 2013

I'm using the record macro function to make a code that is concerned with formatting information generated in excel by another software program.

My original idea was to replace the information in column F with the concatenated info of column F-L, but I couldn't get this to work either. So now I'm looking for a work around for my work around.

I can get the macro to work just fine with "Macro 1" below, but unfortunately when I use the entire column range, it populates thousands and thousands of rows below the (around 50) lines of information I have. However, the populated information in my sheet is completely variable - it could be 1 line or 5000 lines. These will also be printed, so I cannot just cap the range at 5000 because then it would print all of the blanks.

I tried several work-arounds after googling. I tried to leave the blanks and then delete them once they were populated - messy, and it crashed excel. I tried End(xlUp) and I tried using lngLastRow = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row

how to only copy the formula in Column M to the last row of information (which would be the row with the last value in Column A).

MACRO 1:
Columns("M:M").Select
Selection.FormulaR1C1 = _
"=CONCATENATE(RC6, "" "", RC7, "" "", RC8, "" "", RC9, "" "", RC10, "" "", RC11, "" "", RC12)"
Range("M:M").End(xlDown).Select
Columns("M:M").Select
Selection.Copy
Columns("F:F").Select

[code].....

MACRO 2 (Only the Changes):

ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Select
Range("M" & lngLastRow).Select
Selection.FormulaR1C1 = _
"=CONCATENATE(RC6, "" "", RC7, "" "", RC8, "" "", RC9, "" "", RC10, "" "", RC11, "" "", RC12)"
Range("M" & lngLastRow).Select
Selection.Copy

Sep 10, 2009

I have recorded the following macro and wish to add unprotect (with password), run the macro - which formats the worksheet and then password protect all cells with the exception of range E15:H413 which I want to leave editable by users.

## Run Macro Code When New Sheet Added

Apr 2, 2008

I have code in the NewSheet event of ThisWorkbook which tracks new sheets being added. But when a worksheet is added by copying an existing worksheet this event doesn't seem to be triggered. Buy logically a new sheet has been added to the workbook so the event should be triggered. Is this a design flaw or am I missing something?

## Checking If Cells Are Blank (with Added Msgbox)

Apr 26, 2007

I created a macro to save my spreadsheet into another book, but I first want to check if cells Z2 & Z3 are blank, and if Z4 = "\$--k". If any of those conditions are true, I want a messagebox sent to the user to please fill in data in those cells, and exiting the sub( ) preventing the save from happening. The messagebox would say "Blank Info", vbOKonly button, Title would be "Fill in data".

## Autofill Summary Macro As New Worksheets Are Added

Jun 11, 2014

Trying to write a macro so that my summary worksheet will auto populate when new sheets are added and filled out. I want the PO#, Quanity, Date ordered, Vendor, Subtotal, Tax and Total all to transfer from worksheets like F001 to the summary sheet. Yes there is only one F001 sheet filled out but that number will rise into the hundreds as the project progresses. No idea where to begin when writing this macro.

## Variable In Formula Added Via Macro Code

Sep 6, 2006

I am needing to write a line of VB code for a macro that will insert a VLookup formula into a cell where the "named" table_array can be a variable. Example of what I am looking at below.

Worksheets("active Worksheet").("active cell").Formula =VLOOKUP(G2,variable,6,False)"

I need it to be imputed in the active cell of the active sheet with the variable able to be gathered possibly from a cell reference. Say the cell c3 on the active sheet says V080606, the formula imputed would be =VLOOKUP(g2,v0806,6,false).

## Formulas Added From Macro Code Don't Update

Mar 12, 2008

I used VBA to write a number of formulas into various cells in a workbook. After the VBA is done running, I change the values in the cells that are referenced by the cells I wrote formulas in. The formulas do not update after I enter this new information. My calculation is set to automatic, and F9 doesn't help.

## Macro Required To Added Week Numbers To Columns ..

Jan 28, 2009

I require is a macro that will check the heading title of each weeks data e.g. WK01, WK02 etc, work out what week it is and input the week number in a new column (Week No) corresponding to that weeks data.

## Macro Required To Added Week Numbers To Columns

Feb 2, 2009

Every week I get sent a spreadsheet with the hours booked against specific codes, however, each weeks data is in a separate column (from weeks 1-52).

What I require is a macro that will check the heading title of each weeks data e.g. WK01, WK02 etc, work out what week it is and input the week number in a new column (Week No) corresponding to that weeks data and also total the time for that week and enter in the Total Hours column

Please also note that I have asked this question before (http://www.excelforum.com/excel-gene...o-columns.html) and DonkeyOte kindly supplied me with the code to work out the week number i.e.

=IF(COUNT(\$D2:\$BC2),SUBSTITUTE(LOOKUP(9.99999999999999E+307,\$D2:\$BC2,\$D\$1:\$BC\$1),"Hrs WK",""),0)+0

however, as the weeks progress I have to manually copy the week number down and add the totals up so I believe a macro would be the best option as I am currently repeating the same task every week.

The macro needs to:-

(a) work out the week number and enter in ‘Week No’ column
(b) macro to copy each weeks data into Total Hours column

I would be most grateful for any assistance in this matter

## Sort Macro Reverses When Anything Changed / Added To List

May 13, 2013

I used the "record macro" to record a simple sorting (high to low) of columns A-F based on values (0-3) in column A. Everything works when I initially institute the macro. However, when I change anything or add a new item at the end of the list, the order reverses and sorting goes from lowest to highest.?

Here is what ended up in the macro:

Code:
Sub SortColumnA()
' SortColumnA Macro
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear

[Code]....

I noticed that it only includes a fixed value for the length of the list (row 90). Is there a way to have it increase when anything new is added?

As of now I plan on just making an arbitrary large index (~200 ish) to automatically grab anything new.

## Create Button & Assign Macro When Worksheet Added

Aug 6, 2007

Is there a VBA code that will enable me to create a button and assign a certain macro to it everytime I insert a new worksheet?

how to insert a new worksheet with VBA, what I want is that when I insert that worksheet, there is already a button there with a specific macro(already made) assigned to it.

## Excel 2013 :: Customize Macro Button Added To Toolbar

Dec 3, 2013

Upgraded to Excel 2013. Do i no longer have the ability to customize the look of my macro buttons i add to the toolbar?

## Increment Row And Column In Formula Reference Added With Macro Code

Mar 21, 2008

I have a formula that I want to insert using a macro, so how do I iterate the * values in this line?

ActiveCell.FormulaR1C1 = "='Sheet1'!R[*]C[*]"

## Cell Reference- Able To Reference Two Cells To The Left Even As More Cells Are Added

Jun 11, 2008

I have 5 columns set up: A,B,C,D,E
D is the sum of A and B
E is the sum of A,B,and C

As I add in a new column to the right of C (call it C2), I need D (which has shifted over one) to sum A,B, and C.

I also need E (which has also shifted over one) to sum A,B,C, and C2.

Essentially I need a function in a cell that will be able to reference two cells to the left even as more cells are added.