Syntax For Using Variables Within VBA Formula Functions?

Dec 3, 2003

correctly using variables within functions used in formulas specified by VBA. Here's an example:

I want to place a formula within a workbook file called "Books 2003.xls" that goes to the version of the file for the previous year (or whatever year is specified) and does a Sum of a particular range (where that range is also specified as a variable) so it sums up the Total for the previous year for the same number of months that have data in them to date for the current year. Once VBA places the formula where it belongs, it should be able to always provide a running comparisson with the current year to date total and the totals for the same period for the previous year. Here's an example of the intent of this simple formula:

ActiveCell.FormulaR1C1 = "=SUM('[Books 2002.xls]Income Summary'!R4C2:R8C2)"

The workbook files will all be named the same way: Books 2002.xls, Books 2003.xls etc.... The range to be summed will always start at R4C2, but could then end anywhere from R4C2 (same as B4) up to R15C2 (same as B15).

I already have a routine that captures the value for the variable CurrentYear in the form "2003" and thus have another variable for PrevYear (= CurrentYear -1), and so then have a way to correctly specify the variable "BookName" to get the correct filename needed. I also have a variable for the CurrentMonth in the form of "1 through 12", and can use that to specifiy the correct RowNum needed to determine the end of the range (RowNum = CurrentMonth + 3).

I've tried to substitute the variables "BookName" and "RowNum" into the above formula with various combinations such as what follows, but I'm not getting the correct syntax with the right number of quotes etc...:

ActiveCell.FormulaR1C1 = ""=SUM('[" & BookName & "]Income Summary'!R4C2:R" & RowNum & "C2)""

This doesn't work, and I'd love to learn the correct rules for syntax when inserting variables into situations like this.

View 4 Replies


ADVERTISEMENT

Syntax For Passing Arrays To Functions

Apr 21, 2009

What is the syntax for passing arrays to functions? In other words, for the following simple test example, what would work? It is highlighting the asValue parameter and saying, "Type mismatch: array or user-defined type expected". This occurs whether or not I follow it with the empty parentheses.

View 4 Replies View Related

Correct VBA Syntax To Reference Cells In Functions (Correlation)

Jan 27, 2009

I trying to populate cells with a correlation function using VBA, I have set up dynamic references/arguments for the fuction to take on however I just can't get it to work. Currently instead of populating the formula into the cell, it's just populates it as a string based on what's entered below =correl(Ystart &":"& yend, xstart&'":"'& xend").

FYI - The correl function takes on two ranges,. I've predefined these below.

Sub testing()

lastcell = ActiveSheet.Range("c575").End(xlUp).Row
firstcell = ActiveSheet.Range("c1").End(xlDown).Row

Ystart = ("b" & firstcell)
yend = ("b" & lastcell)

xstart = ("c" & firstcell)
xend = ("c" & lastcell)

Range("c575:c580").Formula = "=correl(Ystart &":"& yend, xstart&'":"'& xend")"

'this works
'Range(xstart, xend).Select

End Sub

View 9 Replies View Related

VB: Incorrect Syntax For Assigning Variables

Jun 3, 2006

I know that I cannot automatically assign UniqueCount the value of that formula. How would I format the line such that I can indeed assign UniqueCount the row value of that line?

View 9 Replies View Related

Using Variables In Macro Functions?

Jun 27, 2014

My goal is to write an equation that allows me to total all of the numbers in a column until the value = 0.

When I write the following equation using actual cell references, I am able to get the results I am looking for:

=IF(LEFT($E$78,6)=" Expe",SUM($J$78:INDEX($J$78:J1000,MATCH(0,J78:J1000,),0)),0)

When I try to write it in a macro using variables, I get all messed up:

Selection.Offset(1, 0).Select
Selection.Font.Italic = True
ActiveCell.FormulaR1C1 = " Expense"

[Code].....

(Possibly unnecessary information: This is for a budget spreadsheet I am creating. Ideally when I am finished with the macro it will allow me to add a line item under a specific program and update the total amount spent. The budget is broken out by month, rather than program. When a new program begins the amount in column J will always be zero, hence the Sum until 0 is reached.)

View 1 Replies View Related

Passing Array Variables In Functions?

Sep 15, 2012

What I am trying to do is to automatically build a "tree" diagram representing the links in a huge model which is dynamically configured. What I have a problem with is the following:

The tree consists of layers, I start off with the top layer and for each entry in the top layer I can add all its subsidiary layers and draw links between them, this uses a function which takes as its arguments the node name and its layer number (how far down the tree it is) and the number of items in that layer so far.

So I start at the first item in Layer 1 and there are as yet no layers below it. I start at the first one and add the first item in layer 2 then I kick the function off again and that adds the first item connected to item 1 in layer 2 in the layer below (3) starting at the first one, and so on. When I reach the bottom I go up one layer and add the second item in the bottom layer and so on. When I have added all the connctions to the first item in the next to bottom layer I go up one layer and add the second item connected to the first item in that layer and then add all the items connected to it and so on and so on.

In this way I build up the network exhaustively (to make things more complex more than one item in a layer may connect to the same item in the layer below).

I can do almost all that, the issue I am struggling with is I need to keep track of how many items there are in each layer (as some layer 1 items connect to 1, 2, 3 ...8 layer 2 items and so on). my idea is to keep a running total of these in an array LevelCount(1), LevelCount(2) etc. so when I add a new item to a layer I know where to put it. However I cant workout how to do this final step.

Currently I have a function that draws the nodes below a specified node this and takes the correct value from the array LevelCount(n) by passing Levelcount(n) (where n represents how far down the tree you are) into the function and the function then updates the value of LevelCount(n) (ByRef) so that next time I use it it is correct. That is fine but what I want to do is to is to call the same function from within itself when it adds each node which would make it work automatically - it would keep calling instances of the function until it reached bottom and then go back one step at a time to the top but I cant work out how to reference the right value in the array to pass into the second (and subsequent) instances of the function.

I don't think I can simply pass (n) into the function and in the body of the function set LevelCount(n) = LevelCount(n)+1

I also dont know ahead of time how many layers the model will have, nor can I tell which layer a node sits in as it depends on the links that are dynamically configured.

Beyond this a node can also be subsidiary to nodes in more than one level so it needs to sit at the lowest level - but I suspect if I can work out how to do the first bit i can do this too.

View 7 Replies View Related

Mismatch Errors With Variables In Functions

Jul 24, 2013

I have set variable A and B up as integers

When I input the variables into the function

Code:
Rows(A:B).EntireRow.Hidden = True

I get a mistmatch error. I've used a MsgBox to confirm that both variables are indeed returning integers.

View 3 Replies View Related

If Else Syntax: Change Some Outputs Of The Macro Without Changing The Syntax

Jul 19, 2006

I´m writting a macro. It works find until a certain point. When I want to change some outputs of the macro without changing the syntax, it display an error mesage while runing the macro. It says Else without If. Which is quite disturbing because the Else was not creating any problem before. Here is my macro before I changed the conditions (this one work nicely)

Sub Copy_Sheet_Beta()
Set wba = ActiveWorkbook
On Error Resume Next
If IsWorkbookOpened("Projekt.xls", "C:Documents and SettingsfrederikSkrivebordRedd Barna") Then
Workbooks("Projekt.xls").Activate 'In case open, just activate "Projekt"
Else
Workbooks.Open Filename:="C:Documents and SettingsfrederikSkrivebordRedd Barnaprojekt.xls"
End If
Set wb = Workbooks("Projekt.xls")
wb.Activate
If Not SheetExists(wba.ActiveSheet. Range("C1").Value) Then
MsgBox "overall doesn't exist!"
Else........................................

View 2 Replies View Related

Syntax Of This Formula

Sep 17, 2008

What is wrong with the syntax of this formula?:

COLUMNS(INDIRECT("AverageDemand!$A7:"&A$7))+4

I'm getting #REF errors and I can't work out why...

View 9 Replies View Related

Syntax For Inserting Formula Into A Cell

Nov 27, 2009

I have this code for setting up a sheet to begin a calculation involving the solver add in. I am getting a "Run Time Error 13: Type Mismatch" on the line that inserts a formula into the cell. I have put the first offending line in bold in the code below. Is this a problem with syntax or is there something else that I have made a mistake on?

View 2 Replies View Related

Formula Entry Syntax For Conditional Formatting?

Aug 21, 2009

I'm trying to figure out how to enter the formula for conditional formatting if I want the selected cell value to be red when it is <0.

View 4 Replies View Related

Formula To Avoid Compile Syntax Error

Sep 30, 2011

One of the formulas list whether or not an item is available or not. But when I try create a similar formula to indicate whether the item should be displayed or not I only end up with it being always displayed.

Code:
Option Explicit

Sub Reformat()
Dim wks As Worksheet
Dim iRow As Long

For Each wks In ActiveWorkbook.Worksheets

[Code] .......

what would be the correct format?

View 5 Replies View Related

Finding Right Syntax For Concatenating A Space In If / Then Formula

Apr 16, 2012

Below is the "real formula"

=IF(SUM($F$4-$E$4)= 0," ",SUM($F$4-$E$4)) 'If the value is 0 then enter a space in the cell.

And below is the VBA formula

"=if(sum(" & LastRowCell & "-" & FirstRowCell & ")= 0," & " " & ",sum(" & LastRowCell & "-" & FirstRowCell & "))"

The real formula works, but I am having having difficulties with the syntax of the VBA formula. The above VBA formula works to, but enters a 0 in the cell instead of a space.

View 4 Replies View Related

IF / AND Formula Syntax - Display Valid Or Invalid

Sep 25, 2012

I have two columns with values, and want to display "Valid" or "Invalid" in a third column, dependant on the two preceeding values.

If both column 1 and column 2 contain #N/A, then I want the third column to display "Invalid".

If the above is not true, then I want the third column to display "Valid".

I've been trying different syntax with IF/AND but cannot achieve the result.

View 5 Replies View Related

Syntax Error In VBA Relative Reference Formula

Jan 7, 2014

I was able to get VBA to post this relative reference, which sticks the formula

=DATE(YEAR($D2),MONTH($D2)+6, DAY($D2)+1) into a cell in Col J.

All fine and dandy, works as it should with this formula.

Code:
.Cells(Row, "J").FormulaR1C1 = "=DATE(YEAR(RC4),MONTH(RC4)+6, DAY(RC4)+1)"

However, when I try this with a different formula =IF(ISNUMBER(SEARCH(C2,H2)),"REPEAT","SAFE"), I'm getting a compile error: Expected end of statement with this code:

Code:
.Cells(Row, "I").FormulaR1C1 = "=IF(ISNUMBER(SEARCH(RC3,RC8)),"REPEAT","SAFE")"

The error message highlights the word REPEAT. I suppose it's something with all the quotes throwing off where compiler thinks the end of the formula should be.

View 3 Replies View Related

IF Formula Syntax (cell To Display The Word FAIL)

Jun 23, 2009

If the addition of two cells (a1 and b1) do not add up to more than 10 then I would like cell c1 to display the word FAIL

I've tried the following

If (a1 + b1 ) < 11 then c1 = "FAIL"

But it doesn't like it

View 4 Replies View Related

Correct Syntax To Add Workbook Name That Is Stored In Variable Into Formula?

Feb 24, 2014

I have the following code, which executes just fine:

[Code].....

The problem is that I need to run this again in a different column, and the data is held in another sheet that I have given the variable StepTwo to.

I'm not sure of the syntax to do this. Basically - this is what I need the code to do:

[Code] ....

Understandably this is totally incorrect, but it's the best I can do to explain what I'm actually trying to do....

The two parts of SUMIF are both held in a workbook that I've given the variable "StepTwo" to. Both sets of data are also held on Sheet(1) of that workbook.

View 7 Replies View Related

Excel 2007 :: Syntax For Referencing Worksheet In A Formula

Apr 19, 2012

I am using Excel 2007 in Windows XP. I am trying to change the worksheet referenced in a formula from the label of the worksheet to the index of the sheet. I want to use this macro in multiple workbooks, and the relevant sheets have different names but are all in the same position.

I used "record macro" to get the structure of my code. It gave me the line:

ActiveCell.FormulaR1C1 = "=SUM('8Nov11'!R[13]C[-4]:R[108]C[-4])"

I want to change that '8Nov11' to the 3rd worksheet from the left, so something like:

ActiveCell.FormulaR1C1 = "=SUM(ThisWorkbook.Sheets(3)!R[13]C[-4]:R[108]C[-4])"

I can't get this to work, and I can't find the syntax for this anywhere. I've tried with and without quotes, exclamation points, changing to A1 notation and using "Range," "Sheets," "Worksheets," "Item(3)", and many other combinations, but haven't gotten it right.

Most of the errors I get are "Runtime Error 1004: Application-defined or object-defined error."

View 3 Replies View Related

Indirect Formula Syntax For Referring To A Range On Two Worksheets

Jul 5, 2012

B1=Name of WorkSheet
B2=Name of 2nd Worksheet

I am trying to write a sum formula using Indirect so that the end-user can enter the names of the sheets in B1 & B2 (the values are always in cell F5 on each sheet). I thought this would work but it is throwing a REF# error.

=SUM(INDIRECT("'"&B1&":"&B2&"'!F5"))

with some added spaces for clarity:

=SUM(INDIRECT(" ' " & B1 & " : " & B2 & " ' ! F5"))

View 9 Replies View Related

Conditional Formula Syntax Shows Hash Signs

Jul 1, 2007

I trying to write a conditional formula to test data in a cell to see where it falls between certain values, and depending on the data in the cell, will display a message in another cell showing what level has been attained. It's a long formula and I may not have the syntax correct. Can someone look at this and tell me where I have went wrong? All I get in the target cell is "################".

Here is the formula:

Try this formula. Array formulas will have curly brackets {} emcompassing the ENTIRE formula. You do not add these, you Enter the formula with Ctrl+Shift+Enter and Excel will add them (details: Array formulas). Many more Excel Formulas
  =IF(c13<1600,"Not at prize level yet",IF(AND(c13>=1600,c13<=1999.99),"You have reached level 1",IF(AND(c13>1999.99,c13<=2499.99),"You have reached level 2",IF(AND(c13>2499.99,c13<=2999.99),You have reached level 3,IF(AND(c13>3000,c13<=3499.99),"You have reached level level 4",IF(c13>3500,"You have reached the top level!!")))))) 

View 4 Replies View Related

3-D Formula Syntax: Consolidate Certains Cells In 30 Identical Worksheets In A Workbook

Jun 7, 2006

I want to consolidate certains cells in 30 identical worksheets in a workbook. I understood that if I use the 3-D formula method, that I could insert new identical worksheets into the range of worksheets and the consolidated totals would update. Is that correct?

I cannot seem to get the syntax to work. When I read the Excel Help file it gives an example of =sum(sheet2:sheet7!B3) but I don't understand how Excel could answer this ( if the worksheets were named Sheet2,sheet3,sheet4 etc up to sheet7)
In my example, the formula is clearly wrong. Why does it not use the single quotation marks '? I cannot find references to the proper syntax anywhere. I have your training program but this does not spell it out for me either. If I use Data>Consolidate then I have to labouriously do this for each cell that I want to consolidate.

View 2 Replies View Related

A Formula That Combines The Functions?

Jul 11, 2014

Basically I want a formula that automatically inputs a code based on 'marital status'. This would be easily done using a vlookup except for the fact that one of these marital statuses has multiple options. Example: if the marital status reads "Married" the code can very depending on whether it is different gender/same gender. I have gender codes in a separate column.

For example:

Status--->Code
Single---------------->Sin
Civil P'ship------------>Civ
Married + MM--------->Mar 1
Married + FF---------->Mar 1
Married + MF--------->Mar 2

Married is, of course, in a separate cell from the gender codes, which is why I've attempted to bring the AND function into the IF statement. However, I'm having no luck.

The spreadsheet I am designing is already getting pretty big so I wanted to avoid having more columns than necessary. Is it even possible to group this together in one formula?

This is an example of a formula I have tried but returns the #value error.

=VLOOKUP(I31,Mapping!$A$1:$C$12,3,FALSE)+IF(AND(I31="Married",AH31="MM"),"MAR 12","")

View 3 Replies View Related

Remultiple Functions In A Formula...

Aug 1, 2008

I am currently taking Excel but neither my professor nor my text explained how to make a formula where the formula has two different operations, (e.g., division then addition) within the same formula. For example, in Y6, create this formula: Divide P7 by the sums of H4,I4, and J4. I tried this formula but I think it's wrong: =P7/(H4,I4,J4)

View 3 Replies View Related

Formula Using New Functions Or Array

Dec 9, 2008

I have a list of part #s that i need to group together and sort by their corresponding dates. The formula I've written does what I'd like it to do (assign a value to part groups that i can sort by first before sorting by the date) , but is too large/has too many nested functions to be applied. This formula is going to be used with multiple queries from a database that updates regularly.

EXAMPLE OF DATA(6000+ entries)
http://www.excelforum.com/attachment...1&d=1228860131

This is the breakdown of my formula, I've bolded the parts that aren't constant
=IF(AND(LEFT(D2,5)>="S2000"LEFT(D2,5)<"S2005"),1,IF(continues)...................

View 3 Replies View Related

Combinig Two Functions In One Formula

Jan 5, 2009

I've been using Excel for years and had very few issues. However, I recently went into a spreadsheet to update it and was unable to select and enter data into an individual cell. When I click on a cell and try to enter #s nothing happens (my num lock is on).

Then when I try to click into another cell it just highlights that cell, along with any other that I move my cursor over. Once I click on one cell I can't stop the highlighting from happening. I can't even click on anything in the toolbar.

View 9 Replies View Related

Formula That Can Do 2 Different Functions In One Cell

Jun 17, 2006

I'm looking for a formula that can do 2 different functions in one cell. I have a subtotal in A1 and my total in B2. Now, I want B2 to say if A1 is lessequal to $100,000 then multiply by1.5% plus A1 and if greater than $100,000 muliply by 2.5% plus A1.

View 9 Replies View Related

SUMIF OR SUMIFS Functions With Criteria As Formula?

Apr 28, 2014

SUMIF and SUMIFS formula, where in I want to set criteria in the formula as greater than or less than or equal to value derived from another formula. I am inserting the following formula but excel is not allowing me to enter the formula.

=SUMIFS($C$22:$C$30,$E$22:$E$30,>=LEFT(L21,3),$E$22:$E$30,<=RIGHT(L21,3),$A$22:$A$30,G22)

View 3 Replies View Related

VBA Formula To Sum With Variables?

Sep 29, 2011

I want to have formula with: ActiveCell:formula = I want to sum columns in a row having a column variable called: col The col variable will be the far right column and the other colunm in Row 2 will be col-3. What is the syntax to create this formula? If col = 5, formula normally would be :sum(b2:c5), I want to use col as the varialbe.

View 3 Replies View Related

IF Formula For Sets Of Variables

Jan 28, 2009

If a value fallw within these ranges, then the next cell should calculate the answer according to the percentages outlined.

for exmaple:

If somethng costs 250.00 then the next cell should display - 250 x .50 and the answer would be 375.00

1-500 = 50%
501-1500 = 45%
1501 - 1600 = 40%
1601 - 2500 = 35%
2501+ = 30%

and automatically calculate the answer.

I know there's an IF formula, but I can't seem to figure out how to do multiple IF's ~

View 5 Replies View Related

Referencing Variables In Formula?

Oct 24, 2013

Just got a problem with auto-populating cells with a formula that is made up of variables. My formula references the cells on another sheet, but this will be dynamic.

I'm trying to get the formula to reference e.g. cell A1 in the Calls Taken sheet, with the column held in the srtshortname variable and the row held in the formularow variable.

Code:
set rng = range(cells(introwdate, formulacol), cells(introwdate, formulacol))
rng.formula = "='Calls Taken'!" & strshortname & "" & formularow & ""

View 2 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved