# Can A Macro Write A Formula As An Array Formula

Jun 7, 2006
I'm trying to have a macro write down an array formula, but when I hit ctrl+shift+enter, the recorder says it can't record. If I write in the macro ...FormulaR1C1 = {=...} then I get the formula as a text. Is there a way to tell the macro that a formula should be entered as an array formula?

View 2 Replies
ADVERTISEMENT
Aug 9, 2007

I am trying to write a macro that will insert a formula directly into the cells in column M of my worksheet.

The worksheet has about 3400 rows. When I run the macro it does not adjust the cell reference in the formula so I am getting the same value in all 3400 rows.

I am using the following ....

View 9 Replies
View Related
Oct 31, 2006

The attached has a mega array formula that really slows down the recalc on this spreadsheet. I would like to use a macro to write the value of the formula to the worksheet "Database" column J.

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Cells.Count > 1 Or IsEmpty(Target) Then Exit Sub

If Not Intersect(Target, Range(Range("rReason").Offset(1, 0), Range("rReason"). _

Offset(UsedRange.Rows.Count + 1, 0))) Is Nothing Then

Target.Offset(0, 1) = Application.VLookup(Target, ValList.Range("ReasonLkUp"), 2, False)

'This formula below needs a VBA equivalent

' Target.Offset(0, 4).FormulaArray = "=IF(MIN(IF(R7C3:R35000C3=RC[-7],IF(R7C8:R35000C8>0,R7C8:R35000C8)))=RC[-2],MIN(IF(R7C3:R35000C3=RC[-7],IF(R7C8:R35000C8>0,R7C8:R35000C8))),0)"

End If

If Not Intersect(Target, Range(Range("rSurname").Offset(1, 0), Range("rSurname"). _

Offset(UsedRange.Rows.Count + 1, 0))) Is Nothing Then

Target.Offset(0, 1) = ActiveCell.Offset(0, -2) & " " & ActiveCell.Offset(0, -1)

End If

End Sub

View 9 Replies
View Related
Nov 10, 2011

I often have to research long sheets of data, which requires filling data in on my research sheet from several different sources. The research sheet has a file # in A and a vendor # in C. The data sources have the file #s & vendor #s in varying columns, but I use a pivot table to end up with file # in A, vendor # in B and the needed data in C.

The length of the research sheet varies from month to month - often 800-900 rows, so you can imagine how tedious it is to find the correct file #/vendor # combination to plug the data in. (Many of the rows on the research sheet will not have a row on the data source sheet.)

I managed to get an array formula in one of the columns on the research sheet that actually DOES work:

Code:

{=INDEX('Acct Activity'!C$1:C$7,MATCH(A7&C7,'Acct Activity'!A$1:A$7&'Acct Activity'!B$1:B$7,0))}

But the problem is that it returns #N/A in any row that doesn't have any data. This messes up the sum formula in the farthest right column. So, I tried to incorporate an ISERROR in with the formula, but couldn't get it to work; it left all the cells blank.

In the meantime, I got to thinking that, since there are up to 3 columns requiring data on the research sheet & each column's data comes from a different source, wouldn't it be great to have a macro where I could use a couple of Input Boxes: 1 that would let me click on the column where the data NEEDS to go & 1 that would let me tell it (either by typing the worksheet name or by clicking on the worksheet " PREFERRED " where the data come from)!

So, I spent the entire day yesterday trying to make any of that work & can NOT figure it out! I got the macro to pop up the first input box, & can key in the column letter, but clicking OK doesn't do anything. Yesterday, I had it so I could click OK & the box would go away, but nothing else happened & the second box wouldn't work right.

THEN, I started trying to figure out how to do an array formula in a macro & my head nearly exploded! I have a terrible time trying to understand written descriptions if they're in "tech speak", so it was all greek to me.

Here is all the farther I got with the macro:

Code:

Sub ClearingRsch()

' Jenny 10092011

With Application

.ScreenUpdating = False

.EnableEvents = False

.Calculation = xlCalculationManual

.DisplayAlerts = False

[Code] ......

View 9 Replies
View Related
Nov 5, 2008

I basicaly need to look down column Q8 to Q52 for the falue "C19"

If that value is present - Then I need to look up the value of associated

with what is in its respective cell in column O8 to O52.

Then add them all together.

I have the formula that follows and it works, however it is huge. I have to repeat the IF,Vlookup 44 times. Just wondering if there is a better way.

Here is the formula I am using.

=SUM((IF(Q8="C19",(VLOOKUP(O8,clusterequipmentvalues,2,FALSE)),0)),

(IF(Q9="C19",(VLOOKUP(O9,clusterequipmentvalues,2,FALSE)),0)),

(IF(Q10="C19",(VLOOKUP(O10,clusterequipmentvalues,2,FALSE)),0)),

(IF(Q11="C19",(VLOOKUP(O11,clusterequipmentvalues,2,FALSE)),0)),

(IF(Q12="C19",(VLOOKUP(O12,clusterequipmentvalues,2,FALSE)),0)),

.... all the way to C52.

View 13 Replies
View Related
Jan 23, 2014

Write a formula with a cap of 125%

A

B

C

D

1

x

y

z

2

Commission

1000

1000

500

[Code] .......

How to write the formula to know how much commission with be paid out for x,y,z?

View 2 Replies
View Related
Jan 30, 2007

need to write this forwula for excel 1000((value from cell)+.256)=(((x+.314)1000)+9)1.0625. I would like to plug in a value from a cell and find the comparative value x. I am comparing the airfregiht cost between two carriers that have different surcharges for fuel, secuirty, and tax. One has no security or tax.

View 4 Replies
View Related
Jan 1, 2010

I want to write the following worksheet function in VBA. In cell B1 : =IF(OR(A1={1,2,3,4,5,6,7,8,9,0}),"Yes","No").

View 3 Replies
View Related
Dec 24, 2012

My Columns are as follows:

A1-Criminal Name, B1-Crime, C1-Age, D1-Ratings, E1-Punishment

In the punishment column one will get 22 years life imprisonment if he fulfills the following conditions.

1. He must have done Rape OR Murder

AND

2. His Age should be >30

AND

3. His Ratings should be>8

It should throw 22 years in the Punishment column only if the above conditions are met otherwise it should be Nil.

More Info on this:

1. Crime column includes Murder, Rape, Robbery, Assault, Kidnap etc

2. Age column ranging from 22-75 years.

3. Ratings column ranging from 1-10 points

4. There are 3400 records we have in the list

How to write an IF AND OR combination formula for this ?

View 9 Replies
View Related
Sep 9, 2013

I am trying to write a formula using IF, OR & AND combined together, but I can't see to get my formula in the correct order. I have tried moving several sections around but I still keep getting an error.

IF(OR((A2="1A",A2="2A",A3="3A",AND(IF(OR(B2="Q4 2013",B2="Q1 2014"),"Y","N")

View 2 Replies
View Related
Mar 8, 2014

I'm looking to write a nested IF formula which will be dependant on certain cells that have errors in them (because those error cells have a formula in them which can't formulate becuase the numbers needed for that formula haven't been entered yet).

For example.

Cell A1=#DIV/0!. Cell B1=5.

In cell C1 I want to calculate the average between A1 & B1, but there is an error in A1.

I'm trying to figure out how to make a formula which ignores an error and gives me the value in the cell which doesn't have an error. But I also need it to calculate the average if both cells have a value in it.

View 1 Replies
View Related
Jan 23, 2007

I have a sum field in excel which contains the formula to compute sum of certain cells. For eg. Cell C1 has value (C2+C4).

I have written a vba code to find cells whose value are to be included in the sum field (variables Lrow1,Lrow2 and Lcolumn1,Lcolumn2 contains the row and column number respectively). These cells may differ each time vba code runs. Can I write formula in the sum field based on Lrow and Lcolumn variables.

View 6 Replies
View Related
May 16, 2009

I have got mentioned below result after running a macro and I want mentioned below formula to be put after counting rows, because each time as per my query when I run macro result is different in rows as you can see in below table the formula I put in column F in rows 19, 20, 21, and 22.

ABCDEFG5DateD.IDAmountNODiff2TimeZone62-May-091001 500 50 - 1:50P-172-May-091002 10,000 120 - 1:15P-182-May-091003 2,000 100 - 1:15P-192-May-091111 300 40 - 1:50P-2102-May-091112 100 20 - 1:50P-2112-May-091113 234 100 - 1:50P-2122-May-091114 124 80 - 1:50P-2132-May-091211 380 3 - 1:00P-3142-May-091212 908 50 - 1:50P-315 Average1:14 16 Total Pins10191 17 18 ZoneRequest Count 19 P-13 20 P-24 21 P-32 22 Total9

Spreadsheet FormulasCellFormulaF19=COUNTIF($G$6:$G$14,E19)F20=COUNTIF($G$6:$G$14,E20)F21=COUNTIF($G$6:$G$14,E21)F22=SUM(F19:F21)

Excel tables to the web >> Excel Jeanie HTML 4

View 9 Replies
View Related
Apr 16, 2014

Power.jpg I must write a double interpolation formula for the table.

View 6 Replies
View Related
Dec 1, 2008

I need to work out the profit margin from goods i sell.

I have cost A2

Pack size A3

Net cost A4

Tax A5

Gross price A6

I need to work out the margin between A5 and A6.

View 10 Replies
View Related
Aug 16, 2009

I thought that a nested if is what I needed, but now I don't know what I need I have explained in greater detail within my sample that's attached. Quote:....

I don't know how to write a function for what I need. Right now I have a function that says '= if $b7=0,0,if($d7>$d5,-1,1)), but I've found a problem. If there's more than one zero it throws off what I'm doing. I need a function that will ignore any zeros within column D and use the second to last number. For example:

The formula in E12 should read '=if($B12=0,0,if($D12>$D8,-1,1))

The formula in E13 should read '=if($b13=0,0,if($D13>$D9,-1,1))

The formula in E20 should read '=if($b20=0,0 ,if($d20>$d12,-1,1))

I just don't know how to write this so that it will go back to the second to last number other than zero.

View 3 Replies
View Related
Aug 7, 2012

If the total is >= to x but =(I10*0.9),"Over 90% spent",IF((M10+T10+AA10+AH10+AO10+AV10+BC10+BJ10)>=(I10*0.8)&(M10+T10+AA10+AH10+AO10+AV10+BC10+BJ10)

View 3 Replies
View Related
Sep 22, 2013

I have a spreadsheet. In this sheet the data is added daily so one column is increased everyday. The rows may also be increased. What I am trying to do is to sum the data in each row for a range of first cell in the row to the last non empty cell in that row and this has to be done for all the rows. So I thought the for loop would be useful for such requirement and I tried to write the following code. But unable to write the sum formula in the last empty cell in a row and I get the value error. The code is as follows.....

Sub sum_on_LastEmptyCell()

'find the last empty row in column A

lrow = ThisWorkbook.Sheets("sheet1").Cells(Rows.Count, 1).End(xlUp).Row + 1

'find the last empty column in a row

[Code] ........

Though one of my friend told that it can be done with "with and end with block but I am not aware of with and end with block.

It would be better if you tell me that how can I put the sum formula in my code. How can I use variables which return the row number and the column number in the sum range within the For loop because I want to put If Else condition for the calculations within the For loop i.e. if certain condition is true then I want this calculation to take place otherwise do something else. Moreover it will be easier for me to understand. Because I can use different formula based on different cells as well. Is there any way to do this?

View 3 Replies
View Related
Mar 2, 2009

I've got a "Date" Column which has every day of every month, and next to that several columns with different types of data to correspond to a particular date.

To simplify this (because there are TONS of dates), I've made another "Date" column that displays only every 5th day. Now what I'd like to do of course is average the corresponding data over five days.

I don't know how to write a single formula that I can copy down that will do this.

I've attached a sample spreadsheet with only one month's data, the stuff I need a formula / code for is in red

View 2 Replies
View Related
Mar 14, 2013

how to write vba code using vlookup formula insert pic from picture folder

View 5 Replies
View Related
Nov 2, 2011

I'm trying to write a formula that will count the number of unique occurrences in a column, if a specified value is found in a different column.

So I want to count the number of unique values in the "ID" column if let's say the text "NameA" appears in the "Name" column.

ID Name 12345

NameA

NameB

NameA 12346

View 5 Replies
View Related
Sep 28, 2011

how to write a formula that will leave a cell blank if nothing is entered. I do not want it to show a 0 unless the cell entered is a 0.

In cell G16 - I am adding U46 and U58 together.

I do not have a problem when it is 1 cell - my formula works fine. When I have 2 cells added together, the formula does not work.

View 7 Replies
View Related
Apr 7, 2009

Say I have 3 columns of data: A1:C10 and I want to run a Match() function on them all together to see if I get a match any one those cells, say the value of have in X1.

Since, Match only allows a One-Column lookup array.. is there a way to "concatenate" or "append" the 3 columns together within a formula so now I would be looking to Match in an array that is 1 column * 30 rows?

Basically want to convert =Match(X1,A1:C10,0) to =Match(X1,A1:A30,0) without moving around the raw data in the sheet.

And I want to avoid doing an AND or OR formula that uses 3 separate MATCH() for each column.

I have a hunch that the MMULT or MMULT/TRANSPOSE functions are involved, but can't seem to get it right.

View 6 Replies
View Related
Nov 6, 2013

Is there anyway to recreate this formula w/o it being an array ?

{=IF(C3="","",IFERROR(INDEX('Master List'!$B$1:$B$2000,MATCH(TRUE,ISNUMBER(SEARCH('Master List'!$A$1:$A$2000,C3)),0)),"ADD TO MASTER"))}

View 5 Replies
View Related
Dec 2, 2008

Is there a more convenient way to write something like this:

View 2 Replies
View Related
Dec 25, 2009

i write array like this: Array(1,2,3,4,5,6,7 until 100) how to make it simple, not to write number until 100

View 9 Replies
View Related
Jun 20, 2008

I have the following assignment to do, problem is I'm new to arrays and functions in VBA and nothing is working for me, i get errors no matter what i try, (for example i don't know how to feed the array to the function, and it won't let me write a range to an array)

5.A) Write a function that takes a 2D array of doubles, a single cell range, an optional cap and an optional floor.

B)Write the array on to the sheet with the single cell range parameter being the location of the top left of the array on the sheet. When writing the array to the sheet, for each value in the array where it is below the floor put the floor on the sheet, where the value is above the cap put the cap value on the sheet, otherwise display the original value. The input array should not be modified.

All code should be what you consider production quality.

Dim topleft As Range

array1 = Range("B8:C18").Value

'array1(1, 1) = 2

'array1(2, 1) = 3

'array1(1, 2) = 6

'array1(1, 3) = 9

'array1(2, 2) = 4

'array1(2, 3) = 5

View 9 Replies
View Related
Aug 8, 2006

I have 4000 rows of data with numbers in it (only one column...column C). These numbers are consecutive but these have breaks in between. So I am trying to find out where those breaks are and output those points in a list. So here is a macro that I came up with...but these array doesn't seem to write out results.... can anybody help please?

This macro tries to compare the two adjacent cells and if the difference between the values is greater than 1 then it copies that value in an array and writes that value in a cell in the same sheet.

Sub Macro1()

Dim temp(1, 1000) As Integer

i = 0

previouscell = 0

For Each cell In Range("C:C")

currentcell = cell.Value

abc = previouscell + 1

If currentcell <> abc Then

temp(1, i) = currentcell

i = i + 1

Range("D" & i).Value = temp(1, i)

End If

previouscell = cell.Value

Next cell

End Sub

View 10 Replies
View Related
May 18, 2007

I just wanted to concatenate a few cells using an array formula like this:

{=SUM(IF(B2:J2="";0;B2:J2))}

Well, this does not work. I have no idea why it fails. Any solution to this without scripting?

View 9 Replies
View Related
Jun 30, 2006

i need to replicate what i did using array formulas with VBA macro (array variable). to make things clear and simple i created an example for illustration only. look at it & u will find what i did & what i need to do ,much of it

in writing so that i accurately describe my problem. attached is my example

View 4 Replies
View Related