从一个单元格添加值到另一个单元格,然后重置单元格值 高强
希望有人能回答我们。
我们想要做到以下几点:
当在A1中input一个值时,这个值被加到B1的值上。
然后我们要A1的值重置为0,但保留B1的值
这可能在Excel中?
在工作表的VBA专用模块上(右键单击报告选项卡并点击“查看代码”),input以下代码:
Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Target.Address = Range("a1").Address Then Range("b1") = Range("b1") + Range("a1") Range("a1").ClearContents End If Application.EnableEvents = True End Sub
每当对工作表进行更改时,都会调用Worksheet_Change
。
Application.EnableEvents=False
阻止代码连续运行(没有它,对B1的更改也会调用Worksheet_change)。
此代码假定B1中的值始终是数字(或空白)。 如果它可能包含字符文本,那么将需要进行检查以重置其值或不执行增量。
使用simoco的build议:
Private Sub Worksheet_Change(ByVal Target As Range) Dim A1 As Range Set A1 = Range("A1") If Intersect(Target, A1) Is Nothing Then Else Application.EnableEvents = False With A1 .Offset(0, 1) = .Offset(0, 1) + .Value .ClearContents End With Application.EnableEvents = True End If End Sub