Application.ScreenUpdating = False
If ... something... Then
Range("calc02").EntireRow.Hidden = False // this is critical point
End If
Application.ScreenUpdating = True
该行已经可见,因此无需执行任何操作,但工作表上的图像和文本框将重新绘制(它们会闪烁)。如何防止这种闪烁?
答案 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的描述进行测试总是值得的。这应该有助于避免闪烁,并且也应该更快地运行。