VBA选择某些列并应用公式

时间:2014-06-10 01:42:10

标签: excel vba excel-vba

所以我需要选择从第11列开始一直到1000的某些列。我需要在每个选定的列中应用公式。我需要选择的列分为4个步骤。我使用的代码是

For colNum = 11 To 1000 Step 4
            Range(Cells(2, colNum), Cells(225, colNum)).FormulaR1C1 = "=(D2)(G2)*RC[-2]"
Next colNum

代码为RC [-2]赋予了正确的值,但当它进入下一行时,公式中的单元格D2和G2不会变为D3,而G3 /会变为下一行中的相应单元格行。有什么想法吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

试试这个:

For colNum = 11 To 1000 Step 4
    Range(Cells(2, colNum), Cells(225, colNum)).FormulaR1C1 = "=RC4*RC7*RC[-2]"
Next colNum

如果D和G固定且只有最后一个单元格正在移动 我不确定你想用(D2)(G2)完成什么,它会抛出#REF!错误。
另外,不要混淆它。如果你想使用R1C1,那就要保持一致 以下是上述非R1C1公式。

编辑1:根据评论

Dim i As Long: i = 1000
For colnum = 11 To 100 Step 4
    Range(Cells(2, colnum), Cells(225, colnum)).Formula = "=$D2*$G2*" & _
        Cells(2, colnum - i).Address(False, False)
    i = i - 1
Next colnum