我的代码是:
Range("M1").Select
ActiveCell.FormulaR1c1 = "SUM(R[2]C:R[4157]C)"
我的问题是如果我有超过 4157 行怎么办。如何确保将添加该列的所有行?
谢谢!
尝试:
Range("M1").Select
ActiveCell.FormulaR1c1 = "=SUM(R[2]C:R[" & ActiveSheet.UsedRange.Rows.Count & "]C)"
编辑:
在公式中添加=
,以便 Excel 将其理解为公式。否则它只会将文本放在单元格中。
根据 Jaycal 的评论,试试这个:
dim rowNum as integer
Range("M1").Select
rowNum=activesheet.cells(rows.Count,activecell.Column).end(xlUp).row
ActiveCell.FormulaR1c1 = "=SUM(R[2]C:R[" & rowNum & "]C)"
其中使用单元格表示法意味着我们可以引用行然后列,行被视为工作表中的最大行,列是活动单元格 - 这使得这比引用范围(“M”&rows.count)更具可重用性鉴于您已经选择了单元格。