Excel 将值从一个单元格添加到另一个单元格,然后重置单元格值。擅长

Excel 将值从一个单元格添加到另一个单元格,然后重置单元格值。擅长,excel,vba,Excel,Vba,希望有人能回答我们 我们希望做到以下几点: 在A1中输入值时,该值将添加到B1的值中 然后我们希望A1的值也重置为0,但保留B1的值 这在excel中是否可行?使用simoco的建议: Private Sub Worksheet_Change(ByVal Target As Range) Dim A1 As Range Set A1 = Range("A1") If Intersect(Target, A1) Is Nothing Then Else

希望有人能回答我们

我们希望做到以下几点:

在A1中输入值时,该值将添加到B1的值中

然后我们希望A1的值也重置为0,但保留B1的值


这在excel中是否可行?

使用simoco的建议:

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

在工作表的VBA专用模块上(右键单击“报告”选项卡并点击“查看代码”),输入以下代码:

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
每当对工作表进行更改时,都会调用
工作表\u Change

Application.EnableEvents=False
阻止代码连续运行(如果没有它,对B1的更改也会调用工作表\u change)

此代码假定B1中的值始终为数字(或空白)。如果它可能包含字符文本,则需要进行检查以重置其值或不执行增量。

查看事件