Add Formulas To Range With Macro
Nov 10, 2006
I want to link cells from one sheet (totaldata) with the corepsonding cells in an another sheet (data), the problem is that the columns in these sheets to be linked are not placed in the same distance from each other - so a standard formula can't be applied her. I came up with the following piece of
Sub total()
Worksheets("totaldata").Activate
Range("C3").Select
ActiveCell.FormulaR1C1 = "=SUM('data'!R[2]C:R[79]C)"
ActiveCell.Offset(0, 1).Activate
ActiveCell.FormulaR1C1 = "=SUM('DE PL'!R[2]C[7]:R[79]C[7])"
This code links only two cells in the totaldata sheet, and this way I would have to make this code execute additionally over 30 such lines, which would force me to change the C[7] parameter to C[14] etc etc manually.
Is there a way to speed it up without having to produce such a long code?
View 9 Replies
ADVERTISEMENT
Jun 22, 2009
is there a way to do this in VBA? I've also read: - Dave Hawley's recommendation of using: Sheet1.UsedRange.SpecialCells(xlCellTypeConstants).ClearContents
from another thread (which is excellent!)
- SHG's recommendation of using a named range, for example:
Range("Inputs").ClearContents
Given my limited knowledge of VBA, how would I now combine the two to write a VBA sub-routine that clears a named range entitled "Entry" on a sheet entitled "Data"? Would the following be the correct syntax: Worksheets("Data").Range("Entry").SpecialCells(xlCellTypeConstants).ClearContents
View 6 Replies
View Related
Apr 23, 2008
I'm trying to enter a series of formulas referencing the first cell of each row.
With Range("A40")
Range(.Cells(1, 1), .End(xlDown)).Offset(0, 1).FormulaR1C1 = "= COUNTIF(Details!R2C2:R65536C2,RC1)"
Range(.Cells(1, 1), .End(xlDown)).Offset(0, 2).FormulaArray = "=RC[-1]-SUM((Details!R2C2:R65536C2=RC[-2])*('Details'!R2C11:R65536C11=RC1))"
Range(.Cells(1, 1), .End(xlDown)).Offset(0, 4).FormulaArray = "=SUM((Details!R2C2:R65536C2=RC1)*(Details!R2C4:R65536C4>TODAY()-7))"
Range(.Cells(1, 1), .End(xlDown)).Offset(0, 5).FormulaArray = "=RC[-1]-SUM((Details!R2C2:R65536C2=RC1)*(Details!R2C11:R65536C11=RC1)*(Details!R2C4:R65536C4>TODAY()-7))"
Range(.Cells(1, 1), .End(xlDown)).Offset(0, 7).FormulaArray = "=SUM((Details!R2C2:R65536C2=RC1)*(Details!R2C4:R65536C4>TODAY()-30))"
Range(.Cells(1, 1), .End(xlDown)).Offset(0, 8).FormulaArray = "=RC[-1]-SUM((Details!R2C2:R65536C2=RC1)*(Details!R2C11:R65536C11=RC1)*(Details!R2C4:R65536C4>TODAY()-30))"
End With
While this code works for the first formula, the following 4 are arrays, and for some reason, will only reference the first A40 cell.
View 9 Replies
View Related
Jul 7, 2007
I have inherited an Excel workbook in which the formlas all contain cell names (and there are thousands of names in this book). I need to find a way to change from using cell names in a formula back to a standard absolute cell reference but have no idea how to do this?
View 9 Replies
View Related
May 30, 2014
I'd like a user to be able to input a range in a cell and then in the columns next to it other formulas to pick it up. i.e.,
Column A Column B Column C
(1:12) =Sum(Zx:Zx) =Average(Zx:Zx)
when x:x = (1:12)
Not sure if its possible any clever ways around this?
View 9 Replies
View Related
Apr 11, 2014
I have the following formula.
=SUMIFS('Register Sales'!$E$51:$C$2500,'Register Sales'!$C$51:,A2,'Register Sales'!$L$51:$L$2500,D2)
The range changes each month so I want to use a named cell "LastRow" where I can change the number to replace the 2500. How do I use the range name in my formula without giving me a #value# error?
View 1 Replies
View Related
Jul 16, 2014
Is there way I use the count formula without it counting the formulas in range being subtotaled? I have a address tab in a spreadsheet with column headings first name, last name and address. The information is only filled in from another tab (active) in the same worksheet when there is a value in the cell on the active tab. The formula on the address tab is =IF(Active!$A107=0,"",Active!$A107). If there is not a value on the active tab in a cell I don't want to see it on my address tab but the count formula treats it like a value. I want the results to only to count if a result is on the address tab.
View 4 Replies
View Related
Nov 22, 2006
I need a script that will search through a selected range of cells and add a simple IF statement.
For simplicity, lets assume the desired range is Q36:Q40. (The range is much larger than that.)
The existing formula is:=IF($Z37="%Sales",Q$9*$Y37,IF($Z37="%BS",Q$78*$Y37,IF($Z37="%YOY",O37*(1+$Y37))))
I would like to keep all existing forumulas, just tack on an IF statement before hand that says if a certain cell (Q2) reads "CoPrep" then do nothing, otherwise use the existing formula. I envision this as =IF(Q2="CoPrep","",IF($Z37="%Sales",Q$9*$Y37,IF($Z37="%BS",Q$78*$Y37,IF($Z37="%YOY",O37*(1+$Y37)))))
FYI, the background to this problem is that I am in the process of making a financial forecasting model that allows for choices of company prepared forecasts, hence "CoPrep", or model forecasts based off of other critera, both of which can be sensitized.
View 9 Replies
View Related
May 24, 2007
Using the SpecialCells method with a Type = "xlCellTypeFormulas", I can identify the range contains cells with formulas.
But when there isn't any of these cells in the range you've applied the SpecialCells method to, you get a VBA Error 1004. (Doing this outside VBA gives you a "No cells found" box.) How can I skip over this error?
I'm looping through each sheet in the workbook, and defining the UsedRange. I'm doing another loop that uses the HasFormula property on each cell and then performing an action if HasFormula = True, but this results in a lot of extra work processing cells that don't have formulas.
I'd like to further refine the process by defining the range of cells on each sheet that have formulas. But if a sheet contains no cells with formulas, I'd like to skip past it and move on.
I think this is just a simple syntax / code construction question.
View 9 Replies
View Related
Dec 22, 2006
Is there an easy way to identify range or cell addresses in a formula. I want to find the alphanumeric part of the address.
For example in the SUM Formula =Sum(A4:A230), I wish to separate out A4:A230 part. Or at least I want to remove the number part in the address and just want to get Sum(A:A).
Is there a function that can do this? I don't want to do this using usual string/text operations as it becomes a laborious process and has to consider all possible cases of range addresses.
View 3 Replies
View Related
Jun 6, 2008
For various reasons I need to copy a the range "a2:s251" in the sheet "FWD Input" to another sheet but I need to remove any formulas.
To do this I have used the
Sheets("FWD Input").Range("A2:S251").SpecialCells(xlCellTypeFormulas).ClearContents
This works fine if there are formulas in that range, however if there aren't it gives me: " Run time error: 1004 No cells were found"
So I think I need some code that counts the number of cells in the range with formulae in them and either goes ahead if there are some or quits if there aren't.
View 3 Replies
View Related
Dec 30, 2013
I have a Dynamic Named Range (Entries) that shows in my Name Manager...but is not being recognized in formulas.
The range is defined with a standard DNR formula, and selecting the code in Name Manager highlights the Dynamic Range.
[Code].....
But, when I use the NAME in a simple formula, I get an error. (#NAME?)
[Code] .....
View 6 Replies
View Related
Feb 16, 2010
i m looping through each cell in the range A5:G11 and deleting the last part, "',[ABSMacro.xlsm]Region Breakdown'!$S$1:$S$64999" of the formula in each cell.
View 2 Replies
View Related
Dec 20, 2006
I would like to rotate a Line Chart 90 degrees. I tried using an XY scatter chart but my Y-axis would be time values which are somewhat random but increasing. I would like to keep the spacing between plot points consistent (Y-axis spacing). I could simply use a number list for my Y-values to get consistent spacing but then I lose the time information. I don’t necessarily need the time value on the Y-axis if I could get the information to display when mousing over the plot point. Any ideas on how I could accomplish this?
View 6 Replies
View Related
Dec 28, 2007
I want to be able to sort a table alphabetically by one column after adding a new row to the bottom. But there is another table that uses the values of the former table. How can this be done without screwing up the formulas in the second table.
View 5 Replies
View Related
Jan 15, 2008
I'm working on a large set of data, so rather than read/writing lots of times to the sheet, I've followed the tip of reading a range to a variant array, processing the array, and then writing the whole thing back to the sheet (and it is indeed much much faster).
Dim vdata As Variant
vdata = Range("SummaryOutput")
'do a bunch of logic
Range("SummaryOutput") = vdata
To make things simpler (fewer ranges/variants to manage) I've defined a large range which includes non-data cells (blanks, labels, SUM formulas, etc..). The problem is when I read the range into variant array, it only copies the cells' values -- which means that once I write it back to the sheet, the formulas are lost.
So what I'm looking for is some way to read range into a variant whilst keeping the formulas (which I would see just being a string value in the variant array?). Does anyone know how this could be done?
View 3 Replies
View Related
Feb 5, 2008
I have a large workbook with LOTS of large formulas. However they dont contain $ characters before the ranges as I haven't needed to manipulate them til now. Now I am changing the sheet and I cant seem to move or copy these cells without the ranges whithin the formulas changing! Is there a way to do this? If not is there a way in VBA that I can check through selected cellls and enter a $ before all the ranges?
View 2 Replies
View Related
May 29, 2008
I want to create a Macro to convert the formula results from a filtered data range to values. I thought to use a simple code to do the copy - paste to value
Sub QuickSaveValue()
Dim r As Range, c As Range
Set r = Selection
For Each c In r.SpecialCells(xlCellTypeFormulas)
c.Copy
c.PasteSpecial xlPasteValues
Next c
Application.CutCopyMode = False
End Sub
But is not good because the range is much to large and i need just a filtered part to be changed and i tried like this:
Sub QuickSaveTV()................
View 4 Replies
View Related
Apr 28, 2009
I have a spreadsheet with two columns - column A contains dates and column B has the corresponding data (always numbers). The data is not uniform (i.e there may be lots of entries in any given day and none over the next few). The data is always sorted in chronological order.
I want to set up a summary table to show the min, mean, median, max for each week. I have set up an array to calculate the mean, but I am having trouble working out a good way of gettting the others short of having a set of columns that manually define each cell...for instance =min(b3:b27) or =min(b28:b30).
View 2 Replies
View Related
Aug 11, 2012
Is there a way to apply conditional formatting to a range of cells that contains formulas?
View 6 Replies
View Related
Dec 21, 2012
I have a range of purchase order rows, with the formulas stored in the first row (TemplateRow) which is hidden. The users may add any number of rows to this range, depending upon the number of different products being purchased.
Code:
'Copy the template row into the first newly inserted row
Rows(TemplateRow).Copy Destination:=Rows(insertionPoint)
'fill down from the inserted row down to the last new row
With Rows(InsertionPoint & ":" & NumberOfInsertedRows.Rows.Hidden = False
.FillDownEnd With
The problem is copying the formulas down to the new rows can take terribly long (minutes) in scenarios of thousands of products. Is there a faster method of copying down my formulas?
View 9 Replies
View Related
Jan 3, 2013
Is there any way to copy a column that has a specific range
=COUNTIF(B10:BE10,"*p")
=COUNTIF(B12:BE12,"*p") etc
to copy that to a column lets say 5 columns to the right without my range changing?
=COUNTIF(G10:BJ10,"*p")
=COUNTIF(G12:BJ12,"*p")
I need the same range in all columns, and I cant seem to accomplish this.
View 3 Replies
View Related
Dec 6, 2006
Is there a way to clear the contents of each cell in a range without losing formulas?
View 9 Replies
View Related
Feb 17, 2010
I'm trying to extend the range of a summation formula with a macro.
I've attached a dummy worksheet. I've named each cell in row 8 as well as the summation ranges they are calculating.
I am looking for the result of the macro to have each total's formula range to extend to to row 7 of its respective column.
View 9 Replies
View Related
May 8, 2013
I have two formula's available for a cell. Its actual value, and a previously forecasted value. The actual value is found using an index formula and the forecasted value is a forecast function. i want to create a macro and link it to a button such that i can change which formula used in the cell accordingly. Is this possible?
View 1 Replies
View Related
May 27, 2008
I have a macro in a workbook that runs automatically when I open my workbook. The purpose of it is to find the last non-zero cell in column A of all but three worksheets in my workbook that are named 1 to n and enter the current date in the cell below it.
Once this is done, it is supposed to autofill the formulas from the last non-zero row in columns B and D down into the row that has the current date in column A. I don't understand what is wrong, because at one point the macro did what it was supposed to.
Since then, I added a "for loop" that makes the macro repeat for n number of sheets as opposed to one, and now all it does is adds the date in the last non-zero cell in column A in every sheet 1 to n....it no longer autofills the formulas down in columns B and D.
Here is a look at my
Private Sub Workbook_Open()
Dim xlWs As Excel.Worksheet
Dim fillRow As Long
Dim rng As Range
Dim i As Long
View 9 Replies
View Related
May 19, 2014
Attached is a spreadsheet I am working on that has a series of graphs with defined dynamic ranges. I am having 2 separate issues on 2 different tabs.
1) Ranges named AirRecBra4 (and Bra10); AirComBra4 (and Bra10); AirRemBra4 (and Bra10) are not pulling in data from the correct data points. Instead of using the last 26 data point, they are currently beginning at the top of the column (currently cells 11 to 36 is their respective columns). The formulas are copy and pasted from working offset ranges in the same tab but are reading differently.
2) On the last 6 tabs beginning with Stn Backlog, I want to have defined formulas beginning in cell B119 and continuing downward to at least F200. However, when I add the formulas, the offset reads the formulas as being data and adjusts for that. I do not know how to adjust the dynamic range to ignore formulas in blank cells.
Global Demand-Capacity Management_working (version 3).xlsm
View 6 Replies
View Related
Jan 3, 2014
Is there a way to unfix multiple cell references from formulas in a range of cells at once?
View 2 Replies
View Related
Nov 20, 2009
I have a template work book that has several worksheets with numerous formulas thorughout.
For example;
=SUMPRODUCT(--ISNUMBER(SEARCH("MCSH",P9:P218)),--ISNUMBER(SEARCH("HWD",G9:G218))).
When I set up another template for a different crew I manually have to go through the entire work book and change the crew identifier (MCSH) in every formula.
View 4 Replies
View Related
Aug 16, 2007
I need to find a way to autosort a series of numbers, inputted manually for example, in cells A1 through A15. The autosort function needs to put the numbers in descending or ascending (either way, doesn't matter) in cells B1 through B15.
In effect, if the numbers inputted into the first cells change daily, then the correct order of these be automatically sorted so that they are in a specific order.
The closest I can come WORKS, but I'm using about 300 filter formulas to do so.
View 9 Replies
View Related