ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Macro syntax problem - Dean (https://www.excelbanter.com/excel-programming/396283-macro-syntax-problem-dean.html)

Dean[_8_]

Macro syntax problem - Dean
 
I have the following formula in EXCEL (it works)

=H78*PerfPercent*ScalingFactor*C78/SUMIF(F55:F77,"=y",C55:C77)

which I want to have visual basic type into the current cell.

Here is my attempt at writing it in VBA but I am getting a compile error
(expected end of statement). Can someone help me, please with my syntax
(perhaps sumif doesn't work in VBA, or perhaps I have left out a comma or
something)?

ActiveCell.FormulaR1C1 =
"=H78*PerfPercent*ScalingFactor*C78/SUMIF(R[-23]C[-3]:R[-1]C[-3]," = Y
",R[-23]C[-6]:R[-1]C[-6])"

Thanks!
Dean



Ron Rosenfeld

Macro syntax problem - Dean
 
On Fri, 24 Aug 2007 18:16:38 -0700, "Dean" wrote:

I have the following formula in EXCEL (it works)

=H78*PerfPercent*ScalingFactor*C78/SUMIF(F55:F77,"=y",C55:C77)

which I want to have visual basic type into the current cell.

Here is my attempt at writing it in VBA but I am getting a compile error
(expected end of statement). Can someone help me, please with my syntax
(perhaps sumif doesn't work in VBA, or perhaps I have left out a comma or
something)?

ActiveCell.FormulaR1C1 =
"=H78*PerfPercent*ScalingFactor*C78/SUMIF(R[-23]C[-3]:R[-1]C[-3]," = Y
",R[-23]C[-6]:R[-1]C[-6])"

Thanks!
Dean


When you have quote marks within your formula, which is a string, you've got to
double them so VBA doesn't think it's the end of the string:

.... C[-3],""=Y"",R[-23] ...


--ron

Dean[_8_]

Macro syntax problem - Dean
 
Thanks, it compiles now but it is producing the wrong equation.
Specifically,

The H78 has apostrophes on either side of it. And the C78 has been replaced
with $bz:$bz

Any idea why?

Thanks again
Dean


"Ron Rosenfeld" wrote in message
...
On Fri, 24 Aug 2007 18:16:38 -0700, "Dean"
wrote:

I have the following formula in EXCEL (it works)

=H78*PerfPercent*ScalingFactor*C78/SUMIF(F55:F77,"=y",C55:C77)

which I want to have visual basic type into the current cell.

Here is my attempt at writing it in VBA but I am getting a compile error
(expected end of statement). Can someone help me, please with my syntax
(perhaps sumif doesn't work in VBA, or perhaps I have left out a comma or
something)?

ActiveCell.FormulaR1C1 =
"=H78*PerfPercent*ScalingFactor*C78/SUMIF(R[-23]C[-3]:R[-1]C[-3]," = Y
",R[-23]C[-6]:R[-1]C[-6])"

Thanks!
Dean


When you have quote marks within your formula, which is a string, you've
got to
double them so VBA doesn't think it's the end of the string:

... C[-3],""=Y"",R[-23] ...


--ron




Ron Rosenfeld

Macro syntax problem - Dean
 
On Fri, 24 Aug 2007 18:55:22 -0700, "Dean" wrote:

Thanks, it compiles now but it is producing the wrong equation.
Specifically,

The H78 has apostrophes on either side of it. And the C78 has been replaced
with $bz:$bz

Any idea why?

Thanks again
Dean


In R1C1 format, H78 is just a string, not a cell address, and C78 is the 78th
column which is column BZ in A1 format. If those values are meant to be cell
addresses, you need to put them in R1C1 format and not in A1 format (like the
rest of your formula).
--ron

Gary Keramidas[_2_]

Macro syntax problem - Dean
 
try
ActiveCell.Formula =
"=H78*PerfPercent*ScalingFactor*C78/SUMIF(F55:F77,""=y"", C55:C77)"
or
range("A1").formula
="=H78*PerfPercent*ScalingFactor*C78/SUMIF(F55:F77,""=y"", C55:C77)"
--


Gary

"Dean" wrote in message
...
Thanks, it compiles now but it is producing the wrong equation.
Specifically,

The H78 has apostrophes on either side of it. And the C78 has been
replaced with $bz:$bz

Any idea why?

Thanks again
Dean


"Ron Rosenfeld" wrote in message
...
On Fri, 24 Aug 2007 18:16:38 -0700, "Dean"
wrote:

I have the following formula in EXCEL (it works)

=H78*PerfPercent*ScalingFactor*C78/SUMIF(F55:F77,"=y",C55:C77)

which I want to have visual basic type into the current cell.

Here is my attempt at writing it in VBA but I am getting a compile error
(expected end of statement). Can someone help me, please with my syntax
(perhaps sumif doesn't work in VBA, or perhaps I have left out a comma or
something)?

ActiveCell.FormulaR1C1 =
"=H78*PerfPercent*ScalingFactor*C78/SUMIF(R[-23]C[-3]:R[-1]C[-3]," = Y
",R[-23]C[-6]:R[-1]C[-6])"

Thanks!
Dean


When you have quote marks within your formula, which is a string, you've
got to
double them so VBA doesn't think it's the end of the string:

... C[-3],""=Y"",R[-23] ...


--ron





Dean[_8_]

Macro syntax problem - Dean
 
Ahh, I see. Thanks much.

"Ron Rosenfeld" wrote in message
...
On Fri, 24 Aug 2007 18:55:22 -0700, "Dean"
wrote:

Thanks, it compiles now but it is producing the wrong equation.
Specifically,

The H78 has apostrophes on either side of it. And the C78 has been
replaced
with $bz:$bz

Any idea why?

Thanks again
Dean


In R1C1 format, H78 is just a string, not a cell address, and C78 is the
78th
column which is column BZ in A1 format. If those values are meant to be
cell
addresses, you need to put them in R1C1 format and not in A1 format (like
the
rest of your formula).
--ron




Dean[_8_]

Macro syntax problem - Dean
 
Oh, I like this much better than the other format I started with. I guess I
grabbed whatever code that I had and tried to modify it, without thinking to
ask, if I could do it this way. Silly, silly me!

Now I know two ways, with Ron's help, which is good.

Thanks!
Dean

"Gary Keramidas" wrote in message
...
try
ActiveCell.Formula =
"=H78*PerfPercent*ScalingFactor*C78/SUMIF(F55:F77,""=y"", C55:C77)"
or
range("A1").formula
="=H78*PerfPercent*ScalingFactor*C78/SUMIF(F55:F77,""=y"", C55:C77)"
--


Gary

"Dean" wrote in message
...
Thanks, it compiles now but it is producing the wrong equation.
Specifically,

The H78 has apostrophes on either side of it. And the C78 has been
replaced with $bz:$bz

Any idea why?

Thanks again
Dean


"Ron Rosenfeld" wrote in message
...
On Fri, 24 Aug 2007 18:16:38 -0700, "Dean"
wrote:

I have the following formula in EXCEL (it works)

=H78*PerfPercent*ScalingFactor*C78/SUMIF(F55:F77,"=y",C55:C77)

which I want to have visual basic type into the current cell.

Here is my attempt at writing it in VBA but I am getting a compile error
(expected end of statement). Can someone help me, please with my syntax
(perhaps sumif doesn't work in VBA, or perhaps I have left out a comma
or
something)?

ActiveCell.FormulaR1C1 =
"=H78*PerfPercent*ScalingFactor*C78/SUMIF(R[-23]C[-3]:R[-1]C[-3]," = Y
",R[-23]C[-6]:R[-1]C[-6])"

Thanks!
Dean


When you have quote marks within your formula, which is a string, you've
got to
double them so VBA doesn't think it's the end of the string:

... C[-3],""=Y"",R[-23] ...


--ron







Dean[_8_]

Macro syntax problem - Dean
 
Actually, I have one new problem. I put the following line of code into a
macro that had been working perfectly and now it crashes at this line with
an application defined or object defined error message. Am I screwing up
the syntax again? From what I can tell, both cells C55 and H55 have numbers
in them.

Range("C200").Select
ActiveCell.Formula = "=IF(H55="",0,H55-C55)" ' need to do this because
the cells have moved

Thanks!
Dean


"Dean" wrote in message
...
Oh, I like this much better than the other format I started with. I guess
I grabbed whatever code that I had and tried to modify it, without
thinking to ask, if I could do it this way. Silly, silly me!

Now I know two ways, with Ron's help, which is good.

Thanks!
Dean

"Gary Keramidas" wrote in message
...
try
ActiveCell.Formula =
"=H78*PerfPercent*ScalingFactor*C78/SUMIF(F55:F77,""=y"", C55:C77)"
or
range("A1").formula
="=H78*PerfPercent*ScalingFactor*C78/SUMIF(F55:F77,""=y"", C55:C77)"
--


Gary

"Dean" wrote in message
...
Thanks, it compiles now but it is producing the wrong equation.
Specifically,

The H78 has apostrophes on either side of it. And the C78 has been
replaced with $bz:$bz

Any idea why?

Thanks again
Dean


"Ron Rosenfeld" wrote in message
...
On Fri, 24 Aug 2007 18:16:38 -0700, "Dean"
wrote:

I have the following formula in EXCEL (it works)

=H78*PerfPercent*ScalingFactor*C78/SUMIF(F55:F77,"=y",C55:C77)

which I want to have visual basic type into the current cell.

Here is my attempt at writing it in VBA but I am getting a compile
error
(expected end of statement). Can someone help me, please with my
syntax
(perhaps sumif doesn't work in VBA, or perhaps I have left out a comma
or
something)?

ActiveCell.FormulaR1C1 =
"=H78*PerfPercent*ScalingFactor*C78/SUMIF(R[-23]C[-3]:R[-1]C[-3]," = Y
",R[-23]C[-6]:R[-1]C[-6])"

Thanks!
Dean


When you have quote marks within your formula, which is a string,
you've got to
double them so VBA doesn't think it's the end of the string:

... C[-3],""=Y"",R[-23] ...


--ron








Gary Keramidas

Macro syntax problem - Dean
 
2 things:

you don't need to select the cell, and you need to double up the quotes,

Range("C200").Formula = "=IF(H55="""",0,H55-C55)"

--


Gary


"Dean" wrote in message
...
Actually, I have one new problem. I put the following line of code into a
macro that had been working perfectly and now it crashes at this line with an
application defined or object defined error message. Am I screwing up the
syntax again? From what I can tell, both cells C55 and H55 have numbers in
them.

Range("C200").Select
ActiveCell.Formula = "=IF(H55="",0,H55-C55)" ' need to do this because the
cells have moved

Thanks!
Dean


"Dean" wrote in message
...
Oh, I like this much better than the other format I started with. I guess I
grabbed whatever code that I had and tried to modify it, without thinking to
ask, if I could do it this way. Silly, silly me!

Now I know two ways, with Ron's help, which is good.

Thanks!
Dean

"Gary Keramidas" wrote in message
...
try
ActiveCell.Formula =
"=H78*PerfPercent*ScalingFactor*C78/SUMIF(F55:F77,""=y"", C55:C77)"
or
range("A1").formula
="=H78*PerfPercent*ScalingFactor*C78/SUMIF(F55:F77,""=y"", C55:C77)"
--


Gary

"Dean" wrote in message
...
Thanks, it compiles now but it is producing the wrong equation.
Specifically,

The H78 has apostrophes on either side of it. And the C78 has been
replaced with $bz:$bz

Any idea why?

Thanks again
Dean


"Ron Rosenfeld" wrote in message
...
On Fri, 24 Aug 2007 18:16:38 -0700, "Dean"
wrote:

I have the following formula in EXCEL (it works)

=H78*PerfPercent*ScalingFactor*C78/SUMIF(F55:F77,"=y",C55:C77)

which I want to have visual basic type into the current cell.

Here is my attempt at writing it in VBA but I am getting a compile error
(expected end of statement). Can someone help me, please with my syntax
(perhaps sumif doesn't work in VBA, or perhaps I have left out a comma or
something)?

ActiveCell.FormulaR1C1 =
"=H78*PerfPercent*ScalingFactor*C78/SUMIF(R[-23]C[-3]:R[-1]C[-3]," = Y
",R[-23]C[-6]:R[-1]C[-6])"

Thanks!
Dean


When you have quote marks within your formula, which is a string, you've
got to
double them so VBA doesn't think it's the end of the string:

... C[-3],""=Y"",R[-23] ...


--ron










Ron Rosenfeld

Macro syntax problem - Dean
 
On Fri, 31 Aug 2007 11:34:48 -0700, "Dean" wrote:

Actually, I have one new problem. I put the following line of code into a
macro that had been working perfectly and now it crashes at this line with
an application defined or object defined error message. Am I screwing up
the syntax again? From what I can tell, both cells C55 and H55 have numbers
in them.

Range("C200").Select
ActiveCell.Formula = "=IF(H55="",0,H55-C55)" ' need to do this because
the cells have moved

Thanks!
Dean


Yes, you are screwing up the syntax again. Your problem is with the included
quote marks, as I wrote previously:


....=IF(H55="""",0,...

When you have quote marks within your formula, which is a string,
you've got to
double them so VBA doesn't think it's the end of the string:


--ron

Dean[_8_]

Macro syntax problem - Dean
 
Ah, yes, that short term memory thing! I'm sorry. Thanks to you both for
responding.

Dean

"Ron Rosenfeld" wrote in message
...
On Fri, 31 Aug 2007 11:34:48 -0700, "Dean"
wrote:

Actually, I have one new problem. I put the following line of code into a
macro that had been working perfectly and now it crashes at this line with
an application defined or object defined error message. Am I screwing up
the syntax again? From what I can tell, both cells C55 and H55 have
numbers
in them.

Range("C200").Select
ActiveCell.Formula = "=IF(H55="",0,H55-C55)" ' need to do this because
the cells have moved

Thanks!
Dean


Yes, you are screwing up the syntax again. Your problem is with the
included
quote marks, as I wrote previously:


...=IF(H55="""",0,...

When you have quote marks within your formula, which is a string,
you've got to
double them so VBA doesn't think it's the end of the string:


--ron





All times are GMT +1. The time now is 05:43 PM.

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