2016-02-13 774 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