如何解决使用MS Excel VBA获取具有不同行大小的多列上的列总计的最佳方法
我有数百个列(固定的)和不同数量的行,具体取决于数据提取。我有一个在最后一行加一个总和公式的代码。这很好。但是我有很多列需要总结。假设范围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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。