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

Posted

技术标签:

【中文标题】如何在VBA中将变量插入公式【英文标题】:How can I insert variable into formula in VBA 【发布时间】:2017-07-19 02:28:39 【问题描述】:

谁能解决这个问题?

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 做什么? 【参考方案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 试图实现什么,但这是他们特定问题的解决方案 :)

以上是关于如何在VBA中将变量插入公式的主要内容,如果未能解决你的问题,请参考以下文章

如何使用包含数字varibleex的VBA插入公式

如何在 vba(access) 中将变量设置为我的表单列表框之一?

如何在VBA中设置背景颜色,以便在公式中检测到它?

vba在单元格中生成的公式如何变成文本值

vsto 如何在range中插入变量

在excel表中插入一行(或一列)后vba代码如何自动修改?