工作表上的图像和文本框通过按钮单击闪烁

时间:2012-08-22 12:27:41

标签: excel vba

Application.ScreenUpdating = False
If ... something... Then
Range("calc02").EntireRow.Hidden = False // this is critical point
End If
Application.ScreenUpdating = True

该行已经可见,因此无需执行任何操作,但工作表上的图像和文本框将重新绘制(它们会闪烁)。如何防止这种闪烁?

2 个答案:

答案 0 :(得分:1)

添加

application.screenupdating = false
'your code here
application.screenupdating = true

这应解决大部分问题。


添加一个额外的if语句来检查是否需要将行设置为unhidden或不这样做,因此不会不必要地执行此操作:

If ... something... Then
    if (Range("calc02").EntireRow.Hidden = true) then
        Range("calc02").EntireRow.Hidden = False // this is critical point
    end if
End If

答案 1 :(得分:1)

这是一个值得记住的好事 - 将行和列设置为隐藏或不隐藏真的很懒,特别是如果你必须重复这样做的话。因此,按照enderland的描述进行测试总是值得的。这应该有助于避免闪烁,并且也应该更快地运行。