使用R1C1在VBA中引用

时间:2013-06-06 16:19:26

标签: excel vba quote

我需要在细胞中写入从细胞(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] ???我尝试了一些东西,但我找不到它!

非常感谢您的时间和帮助!

1 个答案:

答案 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
相关问题