将事件更改为工作表中的异常

时间:2018-08-17 18:37:52

标签: vba events

我放置了3个选项按钮,这些按钮将从某个范围复制并粘贴到我感兴趣的区域,我需要做的是,当用户手动从我感兴趣的区域更改单元格时,我需要切换选项按钮切换到另一个按钮,比如说“ Option Button 4”,同时关闭所有其他三个选项按钮。

它与“更改事件”功能一起很好地工作,但是当我回到最初编码为复制并粘贴到范围中的其他三个选项按钮时,就会出现问题。复制并粘贴到该区域后,它将打开选项按钮4,这意味着将其识别为工作表更改的一部分,从而触发宏的“更改事件”部分。

因此,我试图为该Change事件函数赋予一个例外,在这种情况下,是在从其他单元格复制公式的情况下进行的,但是到目前为止,我似乎还没有找到任何解决方案。

我不确定我是否已经解释清楚,但是如果有人知道任何提示/更多解释,请告诉我!

谢谢。

Private Sub Worksheet_Calculate()
   Dim target As Range
    Set target = Range("L15:P15")

   If Not Intersect(target, Range("L15:P15")) Is Nothing Then

ActiveSheet.Shapes("Option Button 174").ControlFormat.Value = 1

End If

End Sub

1 个答案:

答案 0 :(得分:0)

对于附加了选项按钮的宏,您可以添加:

Application.EnableEvents = False

    ... copy and paste data here ....

Application.EnableEvents = True

这将绕过Worksheet_Change事件