问题描述
我有数百个列(固定的)和不同数量的行,具体取决于数据提取。我有一个在最后一行加一个总和公式的代码。这很好。但是我有很多列需要总结。假设范围H:EA中的每一列都需要总计。
我需要一个比以下公式更有效的公式,但是我不确定该转向哪里:
Sheet2.Range("A1").End(xlDown).Offset(1,25).FormulaR1C1 = "=SUM(R2C:R[-1]C)"
Sheet2.Range("A1").End(xlDown).Offset(1,26).FormulaR1C1 = "=SUM(R2C:R[-1]C)"
Sheet2.Range("A1").End(xlDown).Offset(1,27).FormulaR1C1 = "=SUM(R2C:R[-1]C)"
Sheet2.Range("A1").End(xlDown).Offset(1,28).FormulaR1C1 = "=SUM(R2C:R[-1]C)"
Sheet2.Range("A1").End(xlDown).Offset(1,29).FormulaR1C1 = "=SUM(R2C:R[-1]C)"
Sheet2.Range("A1").End(xlDown).Offset(1,30).FormulaR1C1 = "=SUM(R2C:R[-1]C)"
等等等
解决方法
您可以使用Range.Resize
一步将公式写入多列:
Sheet2.Range("A1").End(xlDown).Offset(1,25).Resize(,7).FormulaR1C1 = "=SUM(R2C:R[-1]C)"
说范围H:EA中的每一列都需要总计
请注意,通常的方法是使用End(xlUp)
查找最后一行,您可以轻松构建范围引用,而不用使用Resize
:
With Sheet2
Dim lastRow As Long
lastRow = .Cells(.Rows.Count,"H").End(xlUp).Row + 1
.Range("H" & Row & ":EA" & lastRow).FormulaR1C1 = "=SUM(R2C:R[-1]C)"
End With