Изключете актуализирането на екрана - Примери за VBA код

Колкото и да изглежда готино, докато гледате как макросът ви VBA манипулира екрана, можете да помогнете на вашия макрос да работи по -бързо, ако изключите (деактивирате) актуализацията на екрана.

Деактивирайте актуализацията на екрана

1. За да деактивирате ScreenUpdating, В началото на кода поставете този ред:

1 Application.ScreenUpdating = False

Активиране на актуализацията на екрана

2. За да активирате отново актуализацията на екрана, В края на кода поставете този ред:

1 Application.ScreenUpdating = Вярно

Пример за актуализиране на екрана на VBA

След това процедурата ви ще изглежда така:

1234567891011 Sub ScreenUpdating_Example ()Application.ScreenUpdating = False'Направи нещоДиапазон ("a1"). Обхват на копиране ("b1")Диапазон ("a2"). Обхват на копиране ("b2")Диапазон ("a3"). Обхват на копиране ("b3")Application.ScreenUpdating = ВярноEnd Sub

Актуализиране на екрана Обновяване

Деактивирането на ScreenUpdating ще направи вашия VBA код да работи МНОГО по -бързо, но също така ще направи работата ви да изглежда по -професионална. Крайните потребители обикновено не искат да виждат задкулисните действия на вашите процедури (особено когато процедурата върви бавно). Също така може да не искате крайните потребители да виждат задкулисната функционалност (напр. Скрити работни листове). Препоръчвам да деактивирате (и да активирате отново) актуализацията на екрана в почти всички ваши процедури.

Има обаче моменти, в които искате да опресните екрана. За да опресните екрана, ще трябва временно да включите отново актуализацията на екрана (няма команда за опресняване на екрана):

123 Application.ScreenUpdating = Вярно'Направи нещоApplication.ScreenUpdating = False

Настройки на VBA - Код за ускоряване

Има няколко други настройки, с които да играете, за да подобрите скоростта на кода си.

Деактивирането на автоматичните изчисления може да направи ОГРОМНА разлика в скоростта:

1 Application.Calculation = xlManual

Деактивирането на лентата на състоянието също ще има малка разлика:

1 Application.DisplayStatusBar = False

Ако вашата работна книга съдържа събития, обикновено трябва да деактивирате събития в началото на процедурата:

1 Application.EnableEvents = False

И накрая, вашият VBA код може да бъде забавен, когато Excel се опитва да преизчисли прекъсванията на страниците (Забележка: не всички процедури ще бъдат засегнати). За да деактивирате показването на прекъсвания на страници, използвайте този ред код:

1 ActiveSheet.DisplayPageBreaks = False

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave