SUM直到最后一行使用VBA在Excel中添加公式

我得到了与SUM的问题。 这个想法是我想用我自己的变数来达到一定的范围。

这是我的代码

Range("B299").Activate ActiveCell.FormulaR1C1 = "=SUM(R[-298]C:R[-1]C)" 

我想用lastrowvariables来改变SUM的值

这是我的拉斯特罗宣言,我创build这个variables在另一个子,我打电话之前,我想使用SUM

lastrow = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row

当我试图运行macros,它显示:

运行时错误“1004”:….

编辑:我遇到了另一个问题。 这是关于find拉斯特罗函数。

比方说,当我试图第一次运行macros,它logginglastrow为300.但是,当我试图第二次运行,这是例如我有200行的数据,findlastrow函数仍logging为300而不是200。

这是我的findlastrow函数

 Sub FindLastRow() lastrow = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row MsgBox "Last Row this sheet is " & lastrow 

lastrowvariables,我将其声明为Module1中的全局variables

 Public lastrow As Integer 

我不知道代码有什么问题

看看这个post: 在VBA中find最后使用的单元格时出错

所以你应该使用这个:

 With ActiveSheet If Application.WorksheetFunction.CountA(.Cells) <> 0 Then lastrow = .Cells.Find(What:="*", _ After:=.Range("A1"), _ Lookat:=xlPart, _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious, _ MatchCase:=False).Row Else lastrow = 1 End If End With Range("B" & lastrow +1).FormulaR1C1 = "=SUM(R[-" & lastrow & "]C:R[-1]C)"