【问题标题】:Refresh sum values gets trough VBA macro in Excel by changing values in range通过更改范围内的值,刷新总和值在 Excel 中通过 VBA 宏获取
【发布时间】: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

标签: excel vba sum


【解决方案1】:

在 SJR 的优秀 cmets(感谢 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

【讨论】:

  • 很高兴你到了那里。我相信你可以接受你自己的答案。
猜你喜欢
  • 2021-09-08
  • 2011-04-10
  • 1970-01-01
  • 2012-11-01
  • 2019-05-18
  • 1970-01-01
  • 1970-01-01
  • 2018-03-14
  • 2021-11-24
相关资源
最近更新 更多