Run-time error 1004 for ArrayFormula

mucah!t

Well-known Member
Joined
Jun 27, 2009
Messages
593
Hello all,

The following code gives a runtime error and I can't figure out why.
I've tried other [test] formulas instead and they all worked.

Code:
Range("Z12").FormulaArray = "=IF(ROWS(R12:R)>SUM(--('Matrix Heftruck'!R2C44:R500C44>=R3C20)*('Matrix Heftruck'!R2C44:R500C44<=R3C21)),"""",INDEX('Matrix Heftruck'!R1:R500,--RIGHT(SMALL(IF(('Matrix Heftruck'!R2C44:R500C44>=R3C20)*('Matrix Heftruck'!R2C44:R500C44<=R3C21),--('Matrix Heftruck'!R2C44:R500C44 & RIGHT(""00000"" &ROW(R2C26:R491C26),5)),""""),ROWS(R12:R)),5),COLUMNS(C26:C)))"

When I enter the Formula manually in the Z12 it workes fine.
 

Excel Facts

Bring active cell back into view
Start at A1 and select to A9999 while writing a formula, you can't see A1 anymore. Press Ctrl+Backspace to bring active cell into view.
This doesn't look right:

ROWS(R12:R).....COLUMNS(C26:C)

What does the macro recorder give you if you enter the formula manually?
 
Upvote 0
When recording the formula no error occurs.
It's only after trying to run the macro the error occurs.
This is the formula

Code:
=IF(ROWS($12:12)>SUM(--('Matrix Heftruck'!$AR$2:$AR$500>=$T$3)*('Matrix Heftruck'!$AR$2:$AR$500<=$U$3)),"",INDEX('Matrix Heftruck'!$1:$500,--RIGHT(SMALL(IF(('Matrix Heftruck'!$AR$2:$AR$500>=$T$3)*('Matrix Heftruck'!$AR$2:$AR$500<=$U$3),--('Matrix Heftruck'!$AR$2:$AR$500 & RIGHT("00000" &ROW($Z$2:$Z$491),5)),""),ROWS($12:12)),5),COLUMNS($Z:Z)))
 
Upvote 0
The formula is too long (max 255 characters). Try:

Code:
    With Range("Z12")
        .FormulaArray = "=IF(ROWS(R12:R)>SUM(--('Matrix Heftruck'!R2C44:R500C44>=R3C20)*('Matrix Heftruck'!R2C44:R500C44<=R3C21)),""""," & "TheRest)"
        .Replace "TheRest)", "INDEX('Matrix Heftruck'!R1:R500,--RIGHT(SMALL(IF(('Matrix Heftruck'!R2C44:R500C44>=R3C20)*('Matrix Heftruck'!R2C44:R500C44<=R3C21),--('Matrix Heftruck'!R2C44:R500C44 & RIGHT(""00000"" &ROW(R2C26:R491C26),5)),""""),ROWS(R12:R)),5),COLUMNS(C26:C)))"
    End With
 
Upvote 0
When recording it manually it says "unable to record" [I am using 2003]
In 2010 however, where I recorded it, it does not give an error.
 
Upvote 0
Hi Andrew,

It seems to work partially.
It results in a #NAME?
The second is missing

Code:
=IF(ROWS($12:12)>SUM(--('Matrix Heftruck'!$AR$2:$AR$500>=$T$3)*('Matrix Heftruck'!$AR$2:$AR$500<=$U$3)),"",TheRest)
 
Upvote 0
I have tried it many times. closed the file reopened it etc. but nothing?
Not to be rude, but shouldn't it just work the first time if it were correct?
 
Upvote 0
I realise why it worked for me now. Try:

Code:
    Application.ReferenceStyle = xlR1C1
    With Range("Z12")
        .FormulaArray = "=IF(ROWS(R12:R)>SUM(--('Matrix Heftruck'!R2C44:R500C44>=R3C20)*('Matrix Heftruck'!R2C44:R500C44<=R3C21)),""""," & "TheRest)"
        .Replace "TheRest)", "INDEX('Matrix Heftruck'!R1:R500,--RIGHT(SMALL(IF(('Matrix Heftruck'!R2C44:R500C44>=R3C20)*('Matrix Heftruck'!R2C44:R500C44<=R3C21),--('Matrix Heftruck'!R2C44:R500C44 & RIGHT(""00000"" &ROW(R2C26:R491C26),5)),""""),ROWS(R12:R)),5),COLUMNS(C26:C)))"
    End With
    Application.ReferenceStyle = xlA1
 
Upvote 0

Forum statistics

Threads
1,224,592
Messages
6,179,789
Members
452,942
Latest member
VijayNewtoExcel

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top