当ScreenUpdating为False时刷新Range的显示

时间:2009-07-29 15:05:31

标签: excel vba excel-vba refresh range

当ScreenUpdating = False时,有没有办法刷新VBA中指定范围的单元格的显示?

我的意思如下:

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

Range("A1").Calculate
Range("A1").SomeFunctionThatRefreshesThis

...

卡尔

2 个答案:

答案 0 :(得分:1)

如果ScreenUpdating设置为false,则在ScreenUpdating设置为True之前不会显示更新。您可以按照自己的方式执行此操作的唯一方法是以更精细的方式使用ScreenUpdating属性。例如:

Application.Calculation = xlCalculationManual

Range("A1").Calculate
Application.ScreenUpdating = False
Range("A1").SomeFunctionThatRefreshesThis
Application.ScreenUpdating = True
Application.ScreenUpdating = False
...

答案 1 :(得分:0)

您可以使用Charles Williams(Desision Models)的RangeCalc加载项计算特定范围的单元格

http://www.decisionmodels.com/downloads.htm#addload

应用程序级屏幕更新设置当然会阻止您看到更改,但如果没有将其设置为false,则整体效果应该类似。