通过循环更改列 - VBA

时间:2013-05-07 19:36:29

标签: vba loops

我有这个代码用于将“sum”公式粘贴在同一行但是在不同的列中(实际上,这不是这个公式,“sum”仅用于解释)

for i = 1 to 100
Cells(2, (1 + 5 * (i - 1))).Formula = "=sum($A$1:$E$1)"
Next

但是,我需要这个公式来改变每次迭代,就像它粘贴的单元格一样。然后,单元格"A1"for i = 1)必须在"F1""E1"更改为"J1"的同时更改为i = 2。 如何通过列进行循环?

提前致谢!

路易斯

2 个答案:

答案 0 :(得分:1)

For i = 1 to 100
    Cells(2, 5 + ((i - 1) * 5)).FormulaR1C1 = "=SUM(R[-1]C[-4]:R[-1]C[0])"
Next

答案 1 :(得分:0)

尝试以下代码:

 Dim colChar As String, colChar5 As String
    For i = 1 To 100 Step 5
        colChar = Split(Cells(, i).Address, "$")(1)
        colChar5 = Split(Cells(, i + 4).Address, "$")(1)
        Cells(2, i).Formula = "=sum(" & colChar & "1:" & colChar5 & "1)"
    Next