excel - 通过更改范围内的值,刷新总和值在 Excel 中通过 VBA 宏获取
问题描述
我使用此代码在 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
解决方案
经过 SJR(感谢 SRJ)的好评后,我发现这个解决方案对我有用:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Or_Menge 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 Or_Menge = Intersect(Target, Range("T6:T" & LastRow))
If Or_Menge Is Nothing Then
Exit Sub
Else
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 If
End Sub
推荐阅读
- c# - c#隐藏输入在页面加载失败时不填充
- ios - 尝试使用 Firebase 后端创建排行榜并对数据进行排序无法正确检索数据(Swift 4.2)
- java - 不使用带有 args 的 java -jar 打开 Jar
- excel - Selection.EntireRow.Delete 错误,可以在行的多列中选择单元格?
- java - Combobox 在 Java GUI 上不显示 ArrayList
- android - 带有 Cordova 的 Android 上文件的绝对路径参考
- python - keras inceptionV3“base_model.get_layer('custom')”错误ValueError:没有这样的层:自定义
- apache-spark - 如何解决读取 apache mllib 演示文件的问题
- python - Python 的语法是 LL(1) 吗?
- java - 如何使用java将18位二补码转换为浮点数