Problem with line of code / syntax

R

Roger on Excel

I am having problems with syntax.

I use the code below to enter formulas into cells . It is embedded in a sub
routine.

The code works finr for the first formula line (cell.offset), but the whole
thing breaks down for the second formula line.

The VBA code doesnt like the parentheses (thinks its the end of the
statement) and it doesnt seem to like the use of specific cell references
either (M$4)

Range("AK18:AK77").Select
Selection.ClearContents

For Each cell In Range("AO18:AO77")
Select Case cell.Value
Case "1"

cell.Offset(, -4).FormulaR1C1 = "=RC[-9]&RC[-8]&RC[-7]&RC[-6]&RC[-5]&RC[-4]"
cell.Offset(, -1).FormulaR1C1 = "=IF(ISERROR(RC[-1]/M$4),"Data?",RC[-1]/M$4)"
End Select
Next

Can anyone help with suggestions as I have alot of other similar formulas to
add which also contain cell references (some on other sheets) and other
statements within parentheses.

Thanks,

Roger
 
G

Gary Keramidas

try extra quotes around the word data?.

""data?""
cell.Offset(, -1).FormulaR1C1 = "=IF(ISERROR(RC[-1]/M$4),""Data?"",RC[-1]/M$4)"
also, a couple other things i'd do:

1. use a sheet name in your references, to make sure it always uses the correct
sheet

set ws = worksheets("Sheet1")
For Each cell In ws.Range("AO18:AO77")

2. no need to select

ws.Range("AK18:AK77").ClearContents
 
D

Don Guillett

If desired, send your file to my address below. I will only look if:
1. You send a copy of this message on an inserted sheet
2. You give me the newsgroup and the subject line
3. You send a clear explanation of what you want
4. You send before/after examples and expected results.
 
D

Dave Peterson

If you're going to use .formular1c1, then you have to use R1C1 reference style
for each cell in the formula--and M4 is not r1c1 reference style.

I'd use something like this:

Dim cell As Range
Dim wks As Worksheet

Set wks = ActiveSheet

With wks
.Range("AK18:AK77").ClearContents

For Each cell In .Range("AO18:AO77").Cells
Select Case cell.Value
Case is = "1"
cell.Offset(0, -4).FormulaR1C1 _
= "=RC[-9]&RC[-8]&RC[-7]&RC[-6]&RC[-5]&RC[-4]"
cell.Offset(0, -1).FormulaR1C1 _
= "=IF(ISERROR(RC[-1]/r4c13),""Data?"",RC[-1]/r4c13)"
End Select
Next cell
End With


I am having problems with syntax.

I use the code below to enter formulas into cells . It is embedded in a sub
routine.

The code works finr for the first formula line (cell.offset), but the whole
thing breaks down for the second formula line.

The VBA code doesnt like the parentheses (thinks its the end of the
statement) and it doesnt seem to like the use of specific cell references
either (M$4)

Range("AK18:AK77").Select
Selection.ClearContents

For Each cell In Range("AO18:AO77")
Select Case cell.Value
Case "1"

cell.Offset(, -4).FormulaR1C1 = "=RC[-9]&RC[-8]&RC[-7]&RC[-6]&RC[-5]&RC[-4]"
cell.Offset(, -1).FormulaR1C1 = "=IF(ISERROR(RC[-1]/M$4),"Data?",RC[-1]/M$4)"
End Select
Next

Can anyone help with suggestions as I have alot of other similar formulas to
add which also contain cell references (some on other sheets) and other
statements within parentheses.

Thanks,

Roger
 
R

Roger on Excel

Thanks Dave - this syntax does the trick for me

Roger

Dave Peterson said:
If you're going to use .formular1c1, then you have to use R1C1 reference style
for each cell in the formula--and M4 is not r1c1 reference style.

I'd use something like this:

Dim cell As Range
Dim wks As Worksheet

Set wks = ActiveSheet

With wks
.Range("AK18:AK77").ClearContents

For Each cell In .Range("AO18:AO77").Cells
Select Case cell.Value
Case is = "1"
cell.Offset(0, -4).FormulaR1C1 _
= "=RC[-9]&RC[-8]&RC[-7]&RC[-6]&RC[-5]&RC[-4]"
cell.Offset(0, -1).FormulaR1C1 _
= "=IF(ISERROR(RC[-1]/r4c13),""Data?"",RC[-1]/r4c13)"
End Select
Next cell
End With


I am having problems with syntax.

I use the code below to enter formulas into cells . It is embedded in a sub
routine.

The code works finr for the first formula line (cell.offset), but the whole
thing breaks down for the second formula line.

The VBA code doesnt like the parentheses (thinks its the end of the
statement) and it doesnt seem to like the use of specific cell references
either (M$4)

Range("AK18:AK77").Select
Selection.ClearContents

For Each cell In Range("AO18:AO77")
Select Case cell.Value
Case "1"

cell.Offset(, -4).FormulaR1C1 = "=RC[-9]&RC[-8]&RC[-7]&RC[-6]&RC[-5]&RC[-4]"
cell.Offset(, -1).FormulaR1C1 = "=IF(ISERROR(RC[-1]/M$4),"Data?",RC[-1]/M$4)"
End Select
Next

Can anyone help with suggestions as I have alot of other similar formulas to
add which also contain cell references (some on other sheets) and other
statements within parentheses.

Thanks,

Roger
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top