Нулиране на актуализацията на екрана за съвместимост с Excel XP - Съвети на Excel

Съдържание

Моят съвет на деня е от малко от собствения ми опит. Докато се учите да пишете код, вероятно сте научили, че можете радикално да ускорите макроса си, като изключите актуализирането на екрана, докато макросът работи. Бихте добавили този ред код към вашия макрос:

Sub Test() Application.ScreenUpdating = False '… macro code here Application.ScreenUpdating = True End Sub

В Excel 2000 и по-стари версии не се изискваше да превръщате ScreenUpdating обратно в true. Когато макросът приключи, Excel винаги ще се върне обратно към превръщането на актуализирането на екрана обратно в истина. Когато пишех макроси за тази платформа, често оставях ScreenUpdating = True, защото знаех, че Excel ще се справи с мен и това реши неприятностите от необходимостта да се притеснявате за това, този макрос беше извикан някъде другаде, който не искаше актуализирането на екрана се включи отново или не.

Сега, когато тези макроси се използват в Excel 2002 - имаме проблем. Политиката на Excel от 2002 г. е, че макросът трябва да включи отново актуализирането на екрана. На моята машина е проблем само ако спра макроса по време на отстраняване на грешки, но на други машини актуализирането на екрана остава изключено, оставяйки до някои много объркващи ситуации. Харесва ми нещата да бъдат предсказуеми и това със сигурност не е така!

И така, върхът на деня, независимо дали пишете макроси в Excel 97, Excel 2000 или Excel 2002, винаги обръщайте актуализирането на екрана обратно на true с:

Application.ScreenUpdating = True

Интересни статии...