0

我需要在 Cells(1,1) 到 Cells(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 编写的公式是:

=FDSC("-",$C$1,"FG_PRICE(RC[3])") 

我怎样才能拥有 D1、D2 等...而不是 RC[3]?我已经尝试了一些东西,但我找不到它!

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

4

1 回答 1

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
于 2013-06-06T16:33:36.910 回答