如何将变量插入 VBA 中的公式

How can I insert variable into formula in VBA

谁能解决这个问题?

Sub test

Dim i as integer

For I = 1 to 10
   ActiveCell.Offset(0, 2).Formula = "=Sum(E15,&i&)"
Next I

End Sub

你很接近,正在尝试使用与号 (&) 连接字符串。

ActiveCell.Offset(0, 2).Formula = "=Sum(E15," & i & ")"

使用字符串之间的符号来合并它们,而不是在字符串内部。

您的实际目标不清楚

你可能想从这个代码开始

Sub test()
    Dim i As Integer

    For i = 1 To 10
       cells(i, 4).Formula = "=Sum(E" & i & ":E15)"
    Next
End Sub

并根据您的需要进行调整,知道:

  • 它当前写入单元格"D1:D10"

    因为 cells(i, 4) 引用了第 4 列(即第 "D" 列)4 和 i 行中的一个单元格,并且我们在一个循环中,其中 i 是循环 1 到 10

    所以如果:

    • 你想引用不同的列然后只需将 4 更改为正确的列索引

    • 你想引用不同的行,然后只需将 i 更改为正确的行索引(如果你需要遍历 1 到 10,则可能是一些 i+2 但开始从第 3)

    • 行开始写
  • 那些单元格中写的formula是:

    =SUM(E1:E15) 在 D1,

    =SUM(E2:E15) 在 D2,

    .....

    =SUM(E10:E15) 在 D10.

    所以只需将 "=Sum(E" & i & ":E15)" 更改为您的实际需要