ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Fill formula from VBA (https://www.excelbanter.com/excel-programming/363108-fill-formula-vba.html)

Archie[_6_]

Fill formula from VBA
 
Hi,

I try to enter a formula in a cell using VBA: =VLOOKUP($L2;'Sheet
2'!$A$2:$D$6000;2;FALSE)
This fails with a Run-time error '1004'
Entering this formula by hand works OK

When I remove the reference to 'Sheet 2' it all works OK:
=VLOOKUP($L2;$A$2:$D$6000;2;FALSE)

It looks like a bug to me (or a feature?)

How can I insert this formula refering to another sheet in a cell using VBA?



Don Guillett

Fill formula from VBA
 
If you want the formula
range("a2").formula="=yourformla"
if you want the result
range("a2")=application.vlookup(etc

--
Don Guillett
SalesAid Software

"Archie" wrote in message
...
Hi,

I try to enter a formula in a cell using VBA: =VLOOKUP($L2;'Sheet
2'!$A$2:$D$6000;2;FALSE)
This fails with a Run-time error '1004'
Entering this formula by hand works OK

When I remove the reference to 'Sheet 2' it all works OK:
=VLOOKUP($L2;$A$2:$D$6000;2;FALSE)

It looks like a bug to me (or a feature?)

How can I insert this formula refering to another sheet in a cell using
VBA?




Tom Ogilvy

Fill formula from VBA
 
You need to enter the formula using US English conventions:

ActiveCell.Formula = "=VLOOKUP($L2,'Sheet 2'!$A$2:$D$6000,2,FALSE)"

this assumes that the name of the sheet is "Sheet 2" with a space and not
the default "Sheet2" without a space.

if you want to use semicolons (not recommended for VBA)


ActiveCell.FormulaR1C1 = "=VLOOKUP($L2;'Sheet 2'!$A$2:$D$6000;2;FALSE)"

and this assumes that the name of the function in your regional version is
VLOOKUP

--
Regards,
Tom Ogilvy



"Archie" wrote:

Hi,

I try to enter a formula in a cell using VBA: =VLOOKUP($L2;'Sheet
2'!$A$2:$D$6000;2;FALSE)
This fails with a Run-time error '1004'
Entering this formula by hand works OK

When I remove the reference to 'Sheet 2' it all works OK:
=VLOOKUP($L2;$A$2:$D$6000;2;FALSE)

It looks like a bug to me (or a feature?)

How can I insert this formula refering to another sheet in a cell using VBA?




Archie[_6_]

Fill formula from VBA
 
Don,

I am using the first method to enter to formula and it fails.
This because of the reference to another Sheet.
Leaving this reference out solves the problem, but I need the reference
Entering the formula by hand solves the problem, but the formula has to
filled in on 6000 lines :(

"Don Guillett" wrote in message
...
If you want the formula
range("a2").formula="=yourformla"
if you want the result
range("a2")=application.vlookup(etc

--
Don Guillett
SalesAid Software

"Archie" wrote in message
...
Hi,

I try to enter a formula in a cell using VBA: =VLOOKUP($L2;'Sheet
2'!$A$2:$D$6000;2;FALSE)
This fails with a Run-time error '1004'
Entering this formula by hand works OK

When I remove the reference to 'Sheet 2' it all works OK:
=VLOOKUP($L2;$A$2:$D$6000;2;FALSE)

It looks like a bug to me (or a feature?)

How can I insert this formula refering to another sheet in a cell using
VBA?






Archie[_6_]

Fill formula from VBA
 
Tom,

Thanks! That realy helps!
I was confused because in Excel the formule is shown with semicolons, but
from VBA I have to enter them using comma's.

Archie

"Tom Ogilvy" wrote in message
...
You need to enter the formula using US English conventions:

ActiveCell.Formula = "=VLOOKUP($L2,'Sheet 2'!$A$2:$D$6000,2,FALSE)"

this assumes that the name of the sheet is "Sheet 2" with a space and not
the default "Sheet2" without a space.

if you want to use semicolons (not recommended for VBA)


ActiveCell.FormulaR1C1 = "=VLOOKUP($L2;'Sheet 2'!$A$2:$D$6000;2;FALSE)"

and this assumes that the name of the function in your regional version is
VLOOKUP

--
Regards,
Tom Ogilvy



"Archie" wrote:

Hi,

I try to enter a formula in a cell using VBA: =VLOOKUP($L2;'Sheet
2'!$A$2:$D$6000;2;FALSE)
This fails with a Run-time error '1004'
Entering this formula by hand works OK

When I remove the reference to 'Sheet 2' it all works OK:
=VLOOKUP($L2;$A$2:$D$6000;2;FALSE)

It looks like a bug to me (or a feature?)

How can I insert this formula refering to another sheet in a cell using
VBA?






Dave Peterson

Fill formula from VBA
 
I think you meant:
Activecell.FormulaLocal
instead of
activecell.formular1c1



Tom Ogilvy wrote:

You need to enter the formula using US English conventions:

ActiveCell.Formula = "=VLOOKUP($L2,'Sheet 2'!$A$2:$D$6000,2,FALSE)"

this assumes that the name of the sheet is "Sheet 2" with a space and not
the default "Sheet2" without a space.

if you want to use semicolons (not recommended for VBA)

ActiveCell.FormulaR1C1 = "=VLOOKUP($L2;'Sheet 2'!$A$2:$D$6000;2;FALSE)"

and this assumes that the name of the function in your regional version is
VLOOKUP

--
Regards,
Tom Ogilvy

"Archie" wrote:

Hi,

I try to enter a formula in a cell using VBA: =VLOOKUP($L2;'Sheet
2'!$A$2:$D$6000;2;FALSE)
This fails with a Run-time error '1004'
Entering this formula by hand works OK

When I remove the reference to 'Sheet 2' it all works OK:
=VLOOKUP($L2;$A$2:$D$6000;2;FALSE)

It looks like a bug to me (or a feature?)

How can I insert this formula refering to another sheet in a cell using VBA?




--

Dave Peterson

Tom Ogilvy

Fill formula from VBA
 
Yes, thanks for catching the typo.

--
Regards,
Tom Ogilvy


"Dave Peterson" wrote:

I think you meant:
Activecell.FormulaLocal
instead of
activecell.formular1c1



Tom Ogilvy wrote:

You need to enter the formula using US English conventions:

ActiveCell.Formula = "=VLOOKUP($L2,'Sheet 2'!$A$2:$D$6000,2,FALSE)"

this assumes that the name of the sheet is "Sheet 2" with a space and not
the default "Sheet2" without a space.

if you want to use semicolons (not recommended for VBA)

ActiveCell.FormulaR1C1 = "=VLOOKUP($L2;'Sheet 2'!$A$2:$D$6000;2;FALSE)"

and this assumes that the name of the function in your regional version is
VLOOKUP

--
Regards,
Tom Ogilvy

"Archie" wrote:

Hi,

I try to enter a formula in a cell using VBA: =VLOOKUP($L2;'Sheet
2'!$A$2:$D$6000;2;FALSE)
This fails with a Run-time error '1004'
Entering this formula by hand works OK

When I remove the reference to 'Sheet 2' it all works OK:
=VLOOKUP($L2;$A$2:$D$6000;2;FALSE)

It looks like a bug to me (or a feature?)

How can I insert this formula refering to another sheet in a cell using VBA?




--

Dave Peterson


Don Guillett

Fill formula from VBA
 
In the first method you would write the formula EXACTLY as if it were a
formula because you have asked excel to place that formula there for you
insted of you typing it in.
..formula= "=sheet1!a1"

--
Don Guillett
SalesAid Software

"Archie" wrote in message
...
Don,

I am using the first method to enter to formula and it fails.
This because of the reference to another Sheet.
Leaving this reference out solves the problem, but I need the reference
Entering the formula by hand solves the problem, but the formula has to
filled in on 6000 lines :(

"Don Guillett" wrote in message
...
If you want the formula
range("a2").formula="=yourformla"
if you want the result
range("a2")=application.vlookup(etc

--
Don Guillett
SalesAid Software

"Archie" wrote in message
...
Hi,

I try to enter a formula in a cell using VBA: =VLOOKUP($L2;'Sheet
2'!$A$2:$D$6000;2;FALSE)
This fails with a Run-time error '1004'
Entering this formula by hand works OK

When I remove the reference to 'Sheet 2' it all works OK:
=VLOOKUP($L2;$A$2:$D$6000;2;FALSE)

It looks like a bug to me (or a feature?)

How can I insert this formula refering to another sheet in a cell using
VBA?









All times are GMT +1. The time now is 05:26 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com