Excel VBA ScreenUpdating

Когда мы запускаем любой макрос VBA с огромным набором кода, код завершается, но в фоновом режиме мы получаем обработку данных в виде запуска или ожидания указателя. И как только это будет сделано, мы сможем увидеть только результат. Обычный способ не является правильным способом увидеть, как значения обновляются при запуске кода. Например, допустим, мы написали код для генерации нескольких чисел в 100 ячеек. Теперь этот код может просто генерировать вывод, не показывая, как печатаются числа. Чтобы решить эту проблему, у нас есть VBA ScreenUpdating . Обновление экрана в VBA помогает нам увидеть, как код генерирует вывод. Это могут быть цифры, текст, алфавиты или комбинации. Как только мы запустим цикл кода, с помощью VBA ScreenUpdating мы сможем увидеть генерируемые числа.

Как использовать приложение ScreenUpdating в Excel VBA?

Мы узнаем, как использовать приложение ScreenUpdating в Excel с помощью кода VBA.

Вы можете скачать этот шаблон VBA ScreenUpdating Excel здесь - VBA ScreenUpdating Шаблон Excel

VBA ScreenUpdating можно заметить, пока мы запускаем код или макрос. Пока код работает, мы сможем увидеть, как наш экран обновляется значениями, сгенерированными написанным кодом в VBA. Вместо того, чтобы видеть старый знак ожидания, с помощью VBA ScreenUpdating мы можем видеть, как экран обновляет значения вывода с помощью VBA ScreenUpdating. Теперь мы видим, что само название статьи определяет ее работу, VBA ScreenUpdating .

VBA ScreenUpdating - Пример № 1

В этом примере мы увидим простой код для обновления экрана. Для этого нам понадобятся несколько ячеек с номерами, как показано ниже. Для этого выполните следующие шаги:

Шаг 1. Откройте модуль на вкладке меню «Вставка», как показано ниже.

Шаг 2: Теперь напишите подпроцедуру под именем VBA ScreenUpdating, как показано ниже.

Код:

 Sub Screen_Update1 () End Sub 

Шаг 3: Теперь мы скопируем числа из ячейки A1: A3 во все остальные ячейки. Предположим, что ячейка будет C1: C3 с помощью приведенного ниже кода.

Код:

 Sub Screen_Update1 () Диапазон ("A1"). Диапазон копирования ("C1") Диапазон ("A2"). Диапазон копирования ("C2") Диапазон ("A3"). Диапазон копирования ("C3") End Sub 

Шаг 4: Теперь, если мы запустим этот код, мы сможем получить только выходные данные, скопированные значения из столбца A в C. Теперь мы будем использовать приложение ScreenUpdating, как показано ниже.

Код:

 Sub Screen_Update1 () Application.ScreenUpdating Range ("A1"). Диапазон копирования ("C1") Диапазон ("A2"). Диапазон копирования ("C2") Диапазон ("A3"). Диапазон копирования ("C3") Конец Sub 

Шаг 5: Мы ставим знак равенства, чтобы выбрать логические значения ИСТИНА или ЛОЖЬ. Мы выберем ЛОЖЬ, чтобы остановить обновление экрана.

Код:

 Sub Screen_Update1 () Application.ScreenUpdating = Ложный диапазон («A1»). Диапазон копирования («C1») Диапазон («A2»). Диапазон копирования («C2») Диапазон («A3»). Диапазон копирования («C3») ) End Sub 

Шаг 6: Запустите код, нажав клавишу F5 или нажав кнопку воспроизведения, расположенную под лентой меню. Мы увидим, что значения копируются из столбца А в С.

Это можно было бы увидеть более четко, если бы у нас был огромный набор чисел.

VBA ScreenUpdating - пример № 2

Давайте посмотрим еще один пример для ScreenUpdating. На этот раз давайте рассмотрим число от 1 до 20 от ячейки A1 до A20, как показано ниже.

Для использования приложения обновления экрана, выполните следующие действия:

Шаг 1: Напишите подпроцедуру VBA Screenupdating, как показано ниже.

Код:

 Sub Screen_Update2 () End Sub 

Шаг 2: Теперь напишите код, чтобы выбрать ячейку диапазона от A1 до A20, и скопируйте их с B1 до F20, как показано ниже. Подобным образом, как мы видели в примере-1.

Код:

 Sub Screen_Update2 () Range ("A1: A20"). Copy Range ("B1: F20") End Sub 

Шаг 3: Чтобы применить приложение для обновления экрана, мы снова будем использовать аналогичную строку кода, которую мы видели в примере-1.

Код:

 Sub Screen_Update2 () Application.ScreenUpdating = Ложный диапазон («A1: A20»). Копировать диапазон («B1: F20») End Sub 

Вышеупомянутое приложение ScreenUpdating как FALSE позволит нам увидеть, как код VBA обновляет экран. Чем больше у нас чисел, тем больше шансов, что мы увидим обновление экрана.

Шаг 4: Запустите код, нажав клавишу F5 или нажав кнопку воспроизведения. Мы могли видеть, как значение обновляется.

VBA ScreenUpdating - Пример № 3

Существует еще один способ обновления экрана. Это можно сделать с помощью цикла For-Next. В этом примере мы будем печатать числа в комбинированной матрице строк и столбцов. Для этого выполните следующие шаги:

Шаг 1: Напишите подпроцедуру VBA ScreenUpdating.

Код:

 Sub Screen_Updating3 () End Sub 

Шаг 2: Теперь объявите 2 переменные для Row и Columns отдельно как тип данных Long.

Код:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long End Sub 

Шаг 3: Теперь объявите другую переменную, которую мы будем использовать как ссылку для начала чисел.

Код:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long End Sub 

Шаг 4: Теперь дайте ссылочный номер, с какой позиции мы хотим начать отсчет. Здесь мы даем это как 0.

Код:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long MyNumber = 0 End Sub 

Шаг 5: Теперь откройте цикл For и укажите количество столбцов и строк, которые хотят видеть обновления. Скажем, от 1 до 50.

Код:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long MyNumber = 0 Для RowCount = от 1 до 50 End Sub 

Шаг 6: Чтобы продолжить цикл, присвойте переменной MyNumber +1.

Код:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long MyNumber = 0 Для RowCount = 1–50 Для ColumnCount = 1–50 MyNumber = MyNumber + 1 End Sub 

Шаг 7: Теперь выберите переменные Row и Column в функции Cell. А затем выберите значения, хранящиеся в них, и назначьте их переменной MyNumber.

Код:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long MyNumber = 0 Для RowCount = 1–50 Для ColumnCount = 1–50 MyNumber = MyNumber + 1 Ячейки (RowCount, ColumnCount). Выберите ячейки (RowCount, ColumnCount). .Value = MyNumber End Sub 

Шаг 8: Теперь закройте цикл по следующему. Включите переменные Row и Column, которые мы определили и использовали в цикле For-Next.

Код:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long MyNumber = 0 Для RowCount = 1–50 Для ColumnCount = 1–50 MyNumber = MyNumber + 1 Ячейки (RowCount, ColumnCount). Выбрать ячейки (RowCount, ColumnCount). .Value = MyNumber Next ColumnCount Next RowCount End Sub 

Шаг 9: Теперь мы еще не вставили приложение Screenupdating. Теперь вставьте приложение Screenupdating как FALSE перед началом цикла и как TRUE в конце цикла, как показано ниже.

Код:

 Sub Screen_Updating3 () Dim RowCount как длинный Dim ColumnCount как длинный Dim MyNumber как длинный Application.ScreenUpdating = False MyNumber = 0 для RowCount = от 1 до 50 для ColumnCount = от 1 до 50 MyNumber = MyNumber + 1 ячейки (RowCount, ColumnCount). Выберите ячейки (RowCount, ColumnCount) .Value = MyNumber Next ColumnCount Next RowCount Application.ScreenUpdating = True End Sub 

Теперь скомпилируйте полный код шаг за шагом, нажав функциональную клавишу F8, а затем запустите его, если ошибок не обнаружено. Посмотрим, как обновляется каждая ячейка выбранных строк и столбцов с сохраненными в ней значениями.

Плюсы Excel VBA ScreenUpdating

  • Это очень полезно, чтобы увидеть, как экран обновляется со значением, хранящимся в цикле.
  • Мы можем использовать Screenupdating, если мы хотим переключаться между рабочими листами и рабочими книгами.
  • Мы можем использовать любой диапазон номеров.

То, что нужно запомнить

  • Мы используем цикл вставки For-Next в качестве фрейма или сначала, мы можем удовлетворить условие цикла For и затем закрыть его с помощью Next.
  • VBA ScreenUpdating весьма полезен и виден, если мы используем огромный набор чисел.
  • После этого сохраните файл Excel, так как макрос разрешает формат Excel.
  • VBA ScreenUpdating также можно использовать для создания макроса, с помощью которого мы можем отправлять электронные письма.

Рекомендуемые статьи

Это руководство по VBA ScreenUpdating. Здесь мы обсудим, как использовать приложение ScreenUpdating в Excel VBA вместе с практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи -

  1. Коллекция VBA (Примеры)
  2. VBA IF Заявления | Шаблоны Excel
  3. Как использовать функцию сортировки Excel VBA?
  4. VBA While Loop (Примеры с шаблоном Excel)
  5. VBA Environ

Категория: