如果单元格更改超过3次,如何阻止宏被触发?

时间:2017-04-20 21:14:06

标签: excel vba excel-vba

我有一个选择更改,它将触发macroA和macroB。宏A和B是两个相互关联的个体条件。我面临的问题是,当宏A和B中的两个条件都满足时,它将创建非结束循环,在选择时不断改变单元格值。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim rowtarget As Integer


For rowtarget = 1 To 20

If Target.Row = rowtarget Then

    If Target.Column = 3 Then

        Call MacroA
        Call MacroB
        Call MacroA         

    End If

End If

Next

End Sub

是否有任何代码可以阻止此非结束循环并同时创建消息框?我已经到处搜索但一无所获。希望有人可以帮助我。

1 个答案:

答案 0 :(得分:2)

使用Application.EnableEvents = False可以防止发生其他事件。将你的电话设置为False,然后再回到True。

    If Target.Column = 3 Then
        Application.EnableEvents = False
        Call MacroA
        Call MacroB
        Call MacroA         
        Application.EnableEvents = True
    End If