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

时间:2017-02-28 08:08:59

标签: vba excel-vba formula excel

任何人都可以解决这个问题吗?

Sub test

Dim i as integer

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

End Sub

3 个答案:

答案 0 :(得分:4)

您已关闭,尝试使用&符号(&)来连接字符串。

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

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

答案 1 :(得分: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更改为正确的列索引

    • 您想要引用另一行,然后只需将i更改为正确的行索引(如果您需要迭代1到10但可以从行{开始写},则可能会有一些i+2 {1}})

  • 在这些单元格中写的3是:

    D1中的

    formula

    D2中的

    =SUM(E1:E15)

    ...

    D10中的

    =SUM(E2:E15)

    所以只需将=SUM(E10:E15)更改为您的实际需求

答案 2 :(得分:0)

你也可以试试这个:

Option Explicit

Sub TestMe()

    Dim i As Long

    For i = 1 To 10
        ActiveCell.Offset(i, 2).Formula = WorksheetFunction.Sum(i, i)
    Next i

End Sub

这是另一种方式。