如何使用范围总是不同的公式

如何在范围始终不同的报表上使用公式。 例如我想要乘A列和B列,所以我想写一个代码,我可以乘以A * B,并扩展公式(或使用自动填充)到最后一行。 最大的挑战是必须以每次运行这个macros的方式编写,列A和列B将有不同数量的行(列A和列B总是等于行数)。 例如我今天用300行来运行这个macros,下一次我运行它,我将有500行。

使用Range.AutoFill方法。

 Sub FillColumnC() Dim LastRow As Long Application.ScreenUpdating = False LastRow = Cells(Rows.Count, "A").End(xlUp).Row Range("C2").Formula = "=A2*B2" Range("C2").AutoFill Range("C2:C" & LastRow) Application.ScreenUpdating = True End Sub 

之前:

  ___A___B___C 1| 2| 2 3 3| 3 6 4| 4 8 5| 5 1 6| 6 2 7| 7 9 

后:

  ___A___B___C 1| 2| 2 3 6 3| 3 6 18 4| 4 8 32 5| 5 1 5 6| 6 2 12 7| 7 9 63 

你可以尝试这样的事情…

 Sub FormulaInDynamicRange() Dim LR As Long Application.ScreenUpdating = False LR = Cells(Rows.Count, 1).End(xlUp).Row Range("C2:C" & LR).Formula = "=A2*B2" Application.ScreenUpdating = True End Sub