[英]Add value in all cells within a column to corresponding cell in another column and then clear original cells
我需要根据B列中输入的数字创建一个Excel文档,并在A列中更新总计。 每当添加新值时,行A中的每个相应单元格都应基于其等效的B单元格值进行更新,然后,一旦添加到A中,就清除输入到B中的值。
我已经完成了单行工作,但是没有知识或了解如何最好地使整列中的每个单元对都有效。 我真的不想复制并粘贴此10,000次并更新单元格以引用正确的对。 单个单元格的代码:
Private bIgnoreEvent As Boolean
Private Sub Worksheet_Change(ByVal Target As Range)
If bIgnoreEvent Then Exit Sub
bIgnoreEvent = True
Cells(1, 2) = Cells(1, 2) + Cells(1, 1)
Cells(1, 1) = ""
bIgnoreEvent = False
End Sub
我希望可以通过循环功能或某种范围的方法来实现。
这应该工作:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range, c As Range
'any updates in ColB?
Set rng = Application.Intersect(Target, Me.Columns(2))
If Not rng Is Nothing Then
Application.EnableEvents = False '<< prevent re-triggering of event
'Process each updated cell
For Each c In rng
If IsNumeric(c.Value) Then
With c.Offset(0, -1)
.Value = .Value + c.Value
End With
c.ClearContents
End If
Next c
Application.EnableEvents = True '<< re-enable event
End If
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.