我在VBA中有一个宏,我希望单元格B199(代码中的lastrow-2)向我返回单元格B200(代码中的lastrow-1)和单元格B201(代码中的lastrow)的总和。不幸的是,它不起作用,因为通过运行宏,该公式在单元格B199中返回了一个错误:#NAME?
显然,问题出在我的代码中,来自代码的这一部分:"=SUM(lastrow-1&lastrow )"
请在下面找到我的代码,如果有人可以帮助我,那就太好了。谢谢哈维
Sub fgdjkgfjbbg2222()
Dim lastrow As Long
lastrow = Worksheets("youpi").Range("B" & Rows.Count).End(xlUp).Row
Worksheets("youpi").Activate
Range("B" & lastrow - 2).Value = "=SUM(lastrow-1&lastrow )"
End Sub
答案 0 :(得分:1)
据我所知,您正在尝试根据B列中的LastRow获得的值对B列中的值求和。
在VBA中的公式中,您需要使用变量,如下所示:
Range("B" & lastrow - 2).Value = "=SUM(B" & lastrow - 1 & ":B" & lastrow & ")"
答案 1 :(得分:1)
这不起作用,因为您试图将VBA变量用作单元格公式中的变量。这是不可能的,因为vba变量一旦超出范围(宏完成运行)就没有值
相反,请尝试
Range("B" & lastrow - 2).FormulaR1C1 = "=SUM(R[1]C:R[2]C)"
这将创建一个动态公式,该动态公式与在单元格中键入“ = SUM(B200:B201)”相同。