gpt4 book ai didi

vba - 使用 VBA 在 Excel 中添加公式求和直到最后一行

转载 作者:行者123 更新时间:2023-12-03 02:39:44 26 4
gpt4 key购买 nike

我在 SUM 方面遇到问题。我的想法是我想使用我自己的变量来求和一定范围。

这是我的代码

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

我想使用lastrow变量来改变SUM的值

这是我的最后一个声明,我在另一个子上创建这个变量,并在我想使用 SUM 之前调用它

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

当我尝试运行宏时,它显示:

run-time error '1004': ....

编辑:我遇到了另一个问题。这是关于查找lastrow 函数。

假设当我第一次尝试运行宏时,它记录了lastrow为300。但是当我尝试第二次运行它时,例如我有200行数据,findlastrow函数仍然将其记录为300共 200 个。

这是我的 findlastrow 函数

Sub FindLastRow()

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

MsgBox "Last Row this sheet is " & lastrow

lastrow变量,我在Module1中将其声明为全局变量

Public lastrow As Integer

我想知道代码有什么问题

最佳答案

看看这篇文章:Error in finding last used cell in VBA

所以你应该使用这个:

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)"

关于vba - 使用 VBA 在 Excel 中添加公式求和直到最后一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33732660/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com