我需要在细胞中写入从细胞(1,1)到细胞(501,1)的公式
=FDSC("-",$C$3,"FG_PRICE(D1)") for line 1
=FDSC("-",$C$3,"FG_PRICE(D2)") for line 2
=FDSC("-",$C$3,"FG_PRICE(D3)") for line 3
现在我的vba代码如下:
Range(Cells(1, 1), Cells(1 + 500, 1)).FormulaR1C1 = "=FDSC(""" & "-" & """,R1C3,""" & " FG_PRICE(RC[3]) " & """)"
我已经测试了代码的每一部分,以确定最后一部分(FG_PRICE ...)是不起作用的部分! 在Excel中编写的formule是:
=FDSC("-",$C$1,"FG_PRICE(RC[3])")
我怎么能拥有D1,D2等...而不是RC [3] ???我尝试了一些东西,但我找不到它!
非常感谢您的时间和帮助!
答案 0 :(得分:0)
当您已在引号内工作时,使用chr(34)表示引号。例如,将上面的论坛更改为以下内容:
Range(Cells(1, 1), Cells(1 + 500, 1)).FormulaR1C1 = "=FDSC(" & chr(34) & "-" & chr(34) & ",$C$1," & chr(34) & "FG_PRICE(D1)" & chr(34) & ")"
要将其置于循环中,只需执行以下操作:
Sub writeFormulas()
Dim i as Integer
For i = 0 to 2
Range(Cells(1, 1), Cells(1 + 500, 1)).FormulaR1C1 = "=FDSC(" & chr(34) & "-" & chr(34) & ",$C$1," & chr(34) & "FG_PRICE(D" & i+1 & ")" & chr(34) & ")"
next i
End Sub