2016-02-13 106 views
0

我创建了一个由按钮单击事件驱动的简单值总和示例,如下所示。Excel VBA:将按钮单击事件更改为单元格值更改事件

Sub buttonEvent() 

    Dim a As Double 
    a = Application.WorksheetFunction.Sum(Range("A1:A10")) 
    Cells(11, 1).Value2 = a 

End Sub 

GUI如下所示。

enter image description here

当我点击按钮总和,在限定的范围内该宏总和值。

我想将点击事件更改为范围值更改事件。

这意味着,只要我改变范围内的值,就会执行数值求和功能。

我该怎么做?

回答

1

使用这些代码。

Private Sub Worksheet_Change(ByVal Target As Range) 
Dim a As Double 
    If Not Application.Intersect(Target, Range("A1:A10")) Is Nothing Then 
     a = Application.WorksheetFunction.Sum(Range("A1:A10")) 
      Cells(11, 1).Value2 = a 
    End If 
End Sub 

Edited after comment
为您澄清: enter image description here

+0

您也可以拨打'如果....'条件的子。 – harun24hr

+0

我有一个问题。我必须将宏名称更改为Worksheet_Change吗? – KKS

+0

不需要。您必须在'Worksheet_Change'事件中使用代码。它不是一个宏名称。它建在表单事件中。 – harun24hr