Vba 防止屏幕闪烁(特定情况)

Vba 防止屏幕闪烁(特定情况),vba,excel,Vba,Excel,我正在编写一个宏,以便在单击图片(ActiveX)时在其顶部添加形状: Private Sub clickpic_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Single, ByVal y As Single) ClickShape CLng(x), CLng(y) End Sub 我发现要启用和禁用图片: ActiveSheet.Shapes("clickpic").Visible = Fa

我正在编写一个宏,以便在单击图片(ActiveX)时在其顶部添加形状:

Private Sub clickpic_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Single, ByVal y As Single)

ClickShape CLng(x), CLng(y)

End Sub

我发现要启用和禁用图片:

ActiveSheet.Shapes("clickpic").Visible = False
ActiveSheet.Shapes("clickpic").Visible = True

然而,尽管关闭了屏幕更新,这仍然会导致屏幕刷新/闪烁。你知道如何防止这种情况发生吗?

在某个地方读到Visible=True/False可能会触发重新计算工作表,从而导致闪烁。在编写代码期间,尝试将计算设置为手动是值得的

ActiveSheet.Shapes("clickpic").Visible = False
ActiveSheet.Shapes("clickpic").Visible = True