循环公式横列和下行

我想跨公式循环一个公式,并在它到达我定义的最后一列时停止,同时也将公式向下循环到我在相应列中定义的最后一行。 我想我对于应该如何定义一些东西有一个粗略的认识,但是不是最有效的使用循环或公式应该如何格式化的好主意。 需要说明的是,在第十二行代码中,起始行是可变的。 如果需要,我可以使用R1C1表示法来重新格式化公式,但是我不太了解它。

Sub LoopAcrossColsRows() Dim C as Integer Dim R as Integer Dim LastCol As Integer Dim LastRow As Long Dim lr As Long Worksheets("Sheet1").Activate LastCol = Cells(1, Columns.Count).End(xlToLeft).Column LastRow = Cells(Rows.Count, 20).End(xlUp).Row lr = Cells(Rows.Count, 1).End(xlUp).Row For C = 2 To Last Col For R = lr + 2 To LastRow Cells(C, R) = “SUMPRODUCT(--(C$6:C$7>=$A20),--(C$6:C$7<=($A20+30))*C$4)” Next R Next C End Sub 

任何帮助深表感谢。

为什么在这种情况下循环?

 Range(cells(2,3),cells(lr,lc)).FormulaR1C1 = "=SUM(RC[-1])" 

应该做的伎俩,快得多!

对于遇到这个线程的人来说,这就是如何在列和行上使用R1C1表示法循环一个简单的公式。

 Sub LoopAcrossColsRows() Dim c As Long, lc As Long, r As Long, lr As Long With Sheets("Sheet3") lc = .Cells(1, Columns.Count).End(xlToLeft).Column lr = Cells(Rows.Count, 1).End(xlUp).Row For c = 3 To lc For r = 2 To lr .Cells(r, c).FormulaR1C1 = "=SUM(RC[-1])" Next r Next c End With End Sub