2015-05-13 38 views
0

我有一個工作表變量子目標地址(或只是目標)。我想使用target.address和一系列列(H:W)中的行,並獲得該範圍的總和。因此,例如,如果我在H10中有100美元,並且我在J10中增加了50美元,自從我的target.address行爲10並且我處於我想要的列範圍H:W以來,我想獲得150美元的總和。如何使用目標地址來獲取一系列單元格的總和?

+0

'Target'將始終是單細胞範圍嗎? –

+0

由於Target是範圍對象,因此您可以使用Row屬性來確定您的行爲Sum。 –

回答

0

您可以使用IntersectEntireRow來找出要求和的單元格。我會給他們去Application.Sum做數學。另一個撥打Intersect的電話會告訴您是否更改的單元格位於「盒裝」區域。

Private Sub Worksheet_Change(ByVal Target As Range) 

    Dim sum As Double 
    Dim rng_match As Range 

    Set rng_match = Range("H:W") 

    If Target.Cells.Count = 1 Then 
     If Not Intersect(Target, rng_match) Is Nothing Then 
      sum = Application.sum(Intersect(Target.EntireRow, rng_match)) 
     End If 
    End If 

End Sub 

編輯:添加上Target.Cells.Count每@Tim威廉姆斯檢查,以確保總和不受多細胞編輯。如果這是一個問題,Else需要解決下一步該做什麼。

+1

如果用戶要更改> 1個單元格,那麼這可能會通過對多行進行求和來返回誤導結果。 –

+0

好點,@TimWilliams。我在上面閱讀了你的評論,並假設答案是「是」。我想他確實無法控制有多少個單元格被更改......所以這是值得檢查的。請參閱編輯。 –

相關問題