【发布时间】:2021-03-03 11:11:21
【问题描述】:
我使用此代码在 VBA 中计算总和。代码正在运行,但是当我在 Range 中更改值时,我如何安排计算总和将被更新。
代码如下:
Sub RangeSum()
Dim rg_1 As Range
Dim rg_2 As Range
Dim order As Range
Dim Bestand As Range
Dim LastRow As Long
With ActiveSheet
LastRow = .Range("A1").SpecialCells(xlCellTypeLastCell).Row - 6
End With
Set rg_1 = Range("W6:W" & LastRow)
Set rg_2 = Range("X6:X" & LastRow)
Set order = Range("W4")
Set Bestand = Range("X4")
order = Application.WorksheetFunction.Sum(rg_1)
Bestand = Application.WorksheetFunction.Sum(rg_2)
End Sub
【问题讨论】:
-
使用 SUM 公式?!如果您必须使用代码,请查看
worksheetchange事件。 -
我是新来的,我尝试让范围总和在一段时间内随新行发生变化,我不想每次都更改范围。如果您有任何好的建议,我将不胜感激。
-
如果您使用 Excel 表格,它会在您添加数据时自动展开。
-
我正在尝试这个并得到错误: Private Sub Worksheet_Change(ByVal Target As Range) Dim rg_1 As Range Dim rg_2 As Range Dim order As Range Dim Bestand As Range Dim LastRow As Long With ActiveSheet LastRow = .Range("A1").SpecialCells(xlCellTypeLastCell).Row - 6 End With Set rg_1 = Range("W6:W" & LastRow) Set rg_2 = Range("X6:X" & LastRow) Set order = Range(" W4") Set Bestand = Range("X4") order = Application.WorksheetFunction.Sum(rg_1) Bestand = Application.WorksheetFunction.Sum(rg_2) End Sub