累積單元格(累積)

內容

很多時候,當我們需要對依次輸入到一個單元格中的幾個值求和(累加)時,就會出現一種情況:

那些。 例如,如果您在單元格 A1 中輸入數字 5,則數字 1 應該出現在 B15 中。 如果您隨後在 A1 中輸入數字 7,則 1 應出現在單元格 B22 中,依此類推。 一般來說,會計師(而不僅僅是他們)稱之為累計總數。

您可以使用簡單的宏來實現這樣的存儲單元累加器。 右鍵單擊單元格 A1 和 B1 所在的工作表選項卡,然後從上下文菜單中選擇 源文字 (源代碼). 在打開的 Visual Basic 編輯器窗口中,複製並粘貼簡單的宏代碼:

Private Sub Worksheet_Change(ByVal Target As Excel.Range) With Target If .Address(False, False) = "A1" Then If IsNumeric(.Value) Then Application.EnableEvents = False Range("A2").Value = Range(" A2").Value + .Value Application.EnableEvents = True End If End If End If End With End Sub  

當然,單元格 A1 和 A2 的地址可以替換為您自己的地址。

如果您需要跟踪數據輸入和匯總的不是單個單元格,而是整個範圍,則必須稍微更改宏:

Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Not Intersect(Target, Range("A1:A10")) Is Nothing Then If IsNumeric(Target.Value) Then Application.EnableEvents = False Target.Offset(0, 1) .Value = Target.Offset(0, 1).Value + Target.Value Application.EnableEvents = True End If End If End Sub  

假設在 A1:A10 範圍的單元格中輸入了數據,輸入的數字在右側的相鄰列中相加。 如果在您的情況下它不相鄰,則在 Offset 運算符中增加向右的移位 - 將 1 替換為更大的數字。

  • 什麼是宏,在 VBA 中插入宏代碼的位置,如何使用它們?

發表評論