首页 > 解决方案 > 将更新相同值列中的单元格的触发器

问题描述

我正在尝试编写一个宏,该宏将更新列中与下面相邻列具有相同值的所有单元格,这些单元格在我要完成的操作之前和之后。在此示例中,您将更新 B1,然后 A1 中具有相同值的任何单元格将更新为 B1 值

前

后

这是我正在使用的代码

Private Sub Worksheet_Change(ByVal Target As Range)

Dim rng1 As Range
Dim cel As Range

Set rng1 = Range("A1", Range("A2").End(xlDown))

For Each cel In rng1
    If cel = Target.Offset(0, -1).Value Then
    cel.Offset(0, 1).Value = Target.Value
    End If
Next cel

End Sub

我不确定我写的内容是否正确,但我一直在退出堆栈空间错误,我认为这是每次通过更改相同的单元格不断循环的宏。我相信这应该是可能的,但我有点失落。

标签: excelvbafor-looptriggers

解决方案


Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column <> 2 Then Exit Sub

Application.ScreenUpdating = False
    For Each cel In Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row)
        If cel = Target.Offset(, -1) Then
            cel.Offset(, 1) = Target
        End If
    Next cel
Application.ScreenUpdating = True

End Sub

推荐阅读