跨列循环公式

时间:2014-09-16 13:44:34

标签: excel vba loops formula

我希望跨列循环一个公式,并在它到达我定义的最后一列时停止。这是代码:

Sub LoopAcrossCols()
Dim LastCol As Integer
Worksheets("Sheet1").Activate
LastCol = Cells(1, Columns.Count).End(xlToLeft).Column
Column = 3
Do
Cells(2, Column).Formula = "=B2+C3"

Row = Row + 1

Loop Until LasCol

End Sub

为了清楚起见,当循环从列到列时,公式会发生变化。我只是不确定如何格式化"=B2+C3"来实现这一目标。我可以使用任何其他更高效的循环过程或方法来使代码的任何部分更有效。另外,我不确定" Loop Until LasCol"是循环的有效结束。任何帮助深表感谢。

问候,

1 个答案:

答案 0 :(得分:0)

我不确定你为什么要递增 Row ,但你的循环条件是基于。我已经对以下内容做了一些假设。

Sub LoopAcrossCols()
    Dim c As Long, lc As Long
    With Sheets("Sheet1")
        lc = .Cells(1, Columns.Count).End(xlToLeft).Column
        For c = 3 To lc
            .Cells(2, c).FormulaR1C1 = "=SUM(RC[-1], R[1]C)"
        Next c
    End With
End Sub

使用无循环公式填充范围的替代方法。

Sub LoopAcrossCols2()
    Dim lc As Long
    With Sheets("Sheet1")
        lc = .Cells(1, Columns.Count).End(xlToLeft).Column
        .Cells(2, 3).Resize(1, lc - 2).FormulaR1C1 = "=SUM(RC[-1], R[1]C)"
    End With
End Sub