Обновить отображение диапазона, когда ScreenUpdating имеет значение False - PullRequest
0 голосов
/ 29 июля 2009

Есть ли способ обновить отображение только указанного диапазона ячеек из VBA, когда ScreenUpdating = False?

Я имею в виду следующее:

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

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

...

Karl

Ответы [ 2 ]

1 голос
/ 30 июля 2009

Если для ScreenUpdating установлено значение false, то обновление не будет отображаться, пока для ScreenUpdating не установлено значение True. Единственный способ сделать это так, как вы хотите, - это использовать свойство ScreenUpdating более детально. Например:

Application.Calculation = xlCalculationManual

Range("A1").Calculate
Application.ScreenUpdating = False
Range("A1").SomeFunctionThatRefreshesThis
Application.ScreenUpdating = True
Application.ScreenUpdating = False
...
0 голосов
/ 30 июля 2009

Вы можете рассчитать определенный диапазон ячеек, используя надстройку RangeCalc от Charles Williams (Descision Models)

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

Настройка обновления экрана на уровне приложения, конечно, не позволит вам увидеть изменения, но без значения false общий эффект должен быть аналогичным.

...