Обновление экрана VBA — это свойство, используемое для предотвращения или предотвращения отвлекающих вспышек при выполнении кода и ускорения его путем отключения обновления экрана. Мы можем отключить обновление экрана, установив для этого свойства значение false.
Часто мы можем чувствовать, что экран Excel сходит с ума во время работы макроса, и мы почти расстраиваемся из-за этого. Но как нам справиться с такими ситуациями и заставить код работать быстрее, чем обычно медленно?
Обновление экрана — это то, что мы можем заметить, когда Excel макросExcel макросМакрос в Excel представляет собой серию инструкций в виде кода, который помогает автоматизировать ручные задачи, тем самым экономя время. Excel выполняет эти инструкции шаг за шагом для заданных данных. Например, его можно использовать для автоматизации повторяющихся задач, таких как суммирование, форматирование ячеек, копирование информации и т. д., тем самым быстро заменяя повторяющиеся операции несколькими щелчками мыши. читать далее это работает. Когда задача выполняется, мы можем заметить, что наш экран обновляет значения, пока макрос не завершит назначенную задачу. Когда наш экран мерцает или обновляется, это приводит к замедлению работы программы Excel и требует больше времени, чем обычно, для выполнения задачи.
В VBA у нас есть свойство под названием «ScreenUpdating», и мы устанавливаем для этого свойства значение FALSE, чтобы исключить процесс обновления экрана во время выполнения кода.
В этой статье мы попрощаемся с просмотром боевиков на экране во время работы кода. Сегодня вы заставите свой код работать быстрее и быстрее, чем обычно.
Вы можете использовать это изображение на своем веб-сайте, в шаблонах и т. д. Пожалуйста, предоставьте нам ссылку на авторствоКак предоставить атрибуцию?Ссылка на статью должна быть гиперссылкой Например: Источник: Свойство обновления экрана VBA (wallstreetmojo.com)
Когда использовать функцию обновления экрана?
Предположим, у вас есть какие-то сомнения, когда использовать эту технику. Посмотрите на нижеприведенные пункты.
Когда вы перебираете большое количество ячеек.
Отправка писем из Excel VBAОтправка писем из Excel VBAМы можем использовать VBA для автоматизации нашей функции рассылки в Excel, чтобы отправлять электронные письма нескольким пользователям одновременно. Чтобы использовать функции Outlook, мы должны сначала включить сценарии Outlook в VBA, а затем использовать метод приложения.читать далее.
Переключение между книгами Excel.
Открытие новых рабочих книг.
Как использовать функцию обновления экрана в коде VBA?
Sub Screen_Updating()
Dim RowCount As LongDim ColumnCount As LongDim MyNumber As Long
MyNumber = 0
For RowCount = 1 To 50
For ColumnCount = 1 To 50
MyNumber = MyNumber + 1
Cells(RowCount, ColumnCount).Select
Cells(RowCount, ColumnCount).Value = MyNumber
Next ColumnCount
Next RowCount
End Sub
Вышеуказанное имеет вложенный Цикл VBAЦикл VBAЦикл VBA в Excel — это инструкция для запуска кода или многократного повторения действия.читать далее чтобы вставить серийные номера из первого столбца в 50й столбец и снова возвращается и вставляет порядковый номер, начиная с 51 со второй строки до 50й столбец.
Таким образом, он будет вставляться, пока не достигнет 50й ряд.
Пока этот код работает, вы можете заметить мерцание своего экрана, и вы не можете ничего делать, кроме как наблюдать за этим сумасшедшим моментом.
Чтобы избежать всего этого, мы можем добавить обновление экрана в значение FALSE.
Чтобы сначала получить доступ к функции обновления экрана, нам нужно получить доступ к объекту приложения.
Как видно из объекта Application, у нас есть много свойств и методов. Итак, выберите Обновление экрана из списка IntelliSense.
Примечание: Вы должны применить функцию обновления экрана сразу после объявления переменных.
После выбора свойства «Обновление экрана» поставьте знак равенства (=).
Как мы видим, два логических значения, то есть FALSE и TRUE.
Чтобы остановить обновление экрана, установите статус FALSE.
Теперь, когда макрос запускается первым, он обновит статус обновления экрана до FALSE и перейдет к следующей строке.
Поскольку макрос выполнил обновление экрана до FALSE, он не позволит обновить экран, пока код выполняет свою задачу.
Пример №2 –
Всегда устанавливайте для обновления экрана значение TRUE в конце
Я видел, как многие люди устанавливали для обновления экрана значение FALSE, но забывали вернуть его обратно в значение TRUE в конце макроса.
Всегда устанавливайте для обновления экрана значение TRUE в конце макроса.
Код:
Sub Screen_Updating()
Dim RowCount As LongDim ColumnCount As LongDim MyNumber As Long
Application.ScreenUpdating = False
MyNumber = 0
For RowCount = 1 To 50
For ColumnCount = 1 To 50
MyNumber = MyNumber + 1
Cells(RowCount, ColumnCount).Select
Cells(RowCount, ColumnCount).Value = MyNumber
Next ColumnCount
Next RowCount
Application.ScreenUpdating = TrueEnd Sub