图表和文本框通过点击button闪烁

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

该行是可见的,所以没有任何可做的事情,但图像和文本框被重新绘制(他们闪烁)。 我怎样才能防止这种闪烁?

 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 

这是一个很好的记住 – 设置行和列隐藏或不隐藏真的很慢,特别是如果你必须重复做。 因此,enderland所描述的testing总是值得的。 这应该有助于避免闪烁,并应该跑得更快。