【问题标题】:How can I insert variable into formula in VBA如何将变量插入VBA中的公式
【发布时间】:2021-12-09 09:38:20
【问题描述】:

谁能解决这个问题?

Sub test

Dim i as integer

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

End Sub

【问题讨论】:

  • 您需要将i" 中取出。但是你想Sum 做什么?

标签: vba excel formula


【解决方案1】:

你的实际目标不清楚

你可能想从这段代码开始

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 更改为正确的列索引

    • 1234563 /p>
  • 写在这些单元格中的formula 是:

    =SUM(E1:E15) 在 D1,

    =SUM(E2:E15) 在 D2,

    ....

    =SUM(E10:E15) 在 D10。

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

  • 【讨论】:

    • 实际上我确实尝试过这个 "=Sum(E" & i & ":E15)" 但我忘记在 & 和 "i" 之间留一个空格这就是我做不到的原因这段代码不能工作>
    • 很好。那么您可能希望通过单击答案旁边的复选标记将答案从灰色切换为已填充,将答案标记为已接受。谢谢!
    【解决方案2】:

    你已经接近了,正在尝试使用 & 符号 (&) 来连接字符串。

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

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

    【讨论】:

    • 公式=SUM(E15,1)的作用是什么?
    • 谢谢,如果它是公认的答案,那么请标记它...... @ShaiRado,我同意不清楚 OP 试图实现什么,但这是他们特定问题的解决方案 :)
    猜你喜欢
    • 2017-07-19
    • 2018-01-27
    相关资源
    最近更新 更多