Функция ожидания VBA
Аналогично функции сна Функция ожидания в VBA заставляет код ждать или останавливаться на несколько секунд. Как используются такие функции, нам нужно сделать какой-то конкретный код, чтобы он был на паузе или удерживался, чтобы позволить какой-то другой программе работать сначала, а затем возобновить другую программу. Он также называется методом Application.Wait в VBA.
Как следует из названия, функция ожидания VBA в VBA используется для удержания программы в определенное время, чтобы другой код мог работать в течение этого времени. Фоновые приложения продолжают работать, и только текущий модуль ждет.
Синтаксис для функции ожидания в Excel VBA
Синтаксис для использования функции Application.Wait в VBA выглядит следующим образом:
Эта функция возвращает логическое значение.
Поэтому, если нам нужен код для ожидания до 14:00 сегодня, синтаксис для кода будет следующим:
Application.Wait («14:00:00»)
Приведенный выше код заставит код останавливаться до 14:00, а код возобновится только после 14:00. Это не является оптимальным, чтобы заставить код ждать 2 часа дня. В общем, мы хотим подождать определенный код еще 10 секунд, а затем запустить. Если мне нужно сделать код для ожидания в течение 10 секунд, код будет следующим:
Application.Wait (Now + TimeValue («0:00:10»))
Теперь это функция, которая будет принимать текущее время, и мы добавляем 10 секунд к текущему времени через функцию значения времени, чтобы код мог ждать или останавливаться на 10 секунд.
Примечание. Чтобы использовать VBA, мы должны включить вкладку разработчика на вкладке «Файлы» в разделе параметров.Как использовать функцию ожидания Excel VBA?
Мы научимся использовать функцию VBA Wait Excel на нескольких примерах.
Вы можете скачать этот шаблон VBA Wait Excel здесь - Шаблон VBA Wait ExcelФункция ожидания VBA - Пример # 1
В настоящее время в моем ноутбуке время 15:50, и я хочу, чтобы код возобновился в 16:00. Мы будем использовать простое дополнение к некоторым переменным, но отобразим результат после 16:00. Мы хотим, чтобы код ждал этого периода.
Шаг 1: Перейдите на вкладку « Разработчик » и нажмите на Visual Basic, чтобы открыть VB Editor.
Шаг 2: Нажмите вкладку « Вставка», а затем нажмите « Модуль» .
Шаг 3: Как только откроется окно кода, объявите подфункцию, чтобы начать писать код.
Код:
Sub Sample () End Sub
Шаг 4: Объявите три переменные AB и C как целое число.
Код:
Sub Sample () Dim A, B, C As Integer End Sub
Шаг 5: Присвойте случайные значения переменным A и B.
Код:
Sub Sample () Dim A, B, C As Integer A = 10 B = 15 End Sub
Шаг 6: Используйте функцию application.wait, чтобы заставить функцию ждать до 16:00.
Код:
Sub Sample () Dim A, B, C As Integer A = 10 B = 15 Application.Wait ("16:00:00") End Sub
Шаг 7: Используйте сложение A и B и сохраните результат в C.
Код:
Sub Sample () Dim A, B, C As Integer A = 10 B = 15 Application.Wait ("16:00:00") C = A + B End Sub
Шаг 8: Используйте функцию Msgbox для отображения значения C.
Код:
Sub Sample () Dim A, B, C As Integer A = 10 B = 15 Application.Wait ("16:00:00") C = A + B MsgBox C End Sub
Шаг 9: Запустите приведенный выше код. После запуска кода мы видим, что код не отображает сообщение до 16:00, но после 16:00 я получаю следующий вывод.
Мне пришлось ждать до 16:00, чтобы увидеть этот результат. Код функции Msgbox должен был ждать на самом деле.
Функция ожидания VBA - пример № 2
Давайте посмотрим код с некоторыми персонализированными сообщениями о том, что код будет ждать 10 секунд, и через 10 секунд он покажет, что время ожидания истекло, и отобразит окончательный результат.
Шаг 1: Перейдите на вкладку « Разработчик » и нажмите на Visual Basic, чтобы открыть VB Editor.
Шаг 2: Объявите подфункцию, чтобы начать писать код.
Код:
Sub Sample1 () End Sub
Шаг 3: Объявите три переменные AB и C как целое число.
Код:
Sub Sample1 () Dim A, B, C As Integer End Sub
Шаг 4: Назначьте случайные значения переменным A и B.
Код:
Sub Sample1 () Dim A, B, C As Integer A = 2 B = 10 End Sub
Шаг 5: Используйте функцию Msgbox, чтобы отобразить, что время ожидания вот-вот начнется.
Код:
Sub Sample1 () Dim A, B, C As Integer A = 2 B = 10 MsgBox «Время ожидания запущено» End Sub
Шаг 6: Используйте функцию ожидания для ожидания кода в течение 10 секунд.
Код:
Sub Sample1 () Dim A, B, C в виде целого числа A = 2 B = 10 MsgBox "Время ожидания запущено" Application.Wait (Now + TimeValue ("0:00:10")) End Sub
Шаг 7: В переменной C он сохраняет значение B / A и отображает персонализированное сообщение о том, что период ожидания закончен, а затем отображает значение C.
Код:
Sub Sample1 () Dim A, B, C как целое число A = 2 B = 10 MsgBox «Время ожидания запущено» Application.Wait (Now + TimeValue ("0:00:10")) C = B / A MsgBox " Время ожидания истекло "MsgBox C End Sub
Шаг 8: Запускаем код и видим первое сообщение, подобное следующему.
Шаг 9: Нажмите OK, чтобы увидеть следующий результат через 10 секунд.
Шаг 10: Когда мы нажимаем ОК, мы получаем окончательный результат.
В приведенном выше примере мы заставили код ждать 10 секунд, а затем отображать результат значения C.
Функция ожидания VBA - Пример № 3
Теперь давайте переименуем рабочие листы 1 и 2 соответственно как Ананд и Аран, но мы хотим, чтобы между переименованными листами был промежуток в 5 секунд.
Шаг 1: Перейдите на вкладку «Разработчик» и нажмите на Visual Basic, чтобы открыть VB Editor.
Шаг 2: Объявите подфункцию, чтобы начать писать код.
Код:
Sub Sample2 () End Sub
Шаг 3: Активируйте первый лист.
Код:
Sub Sample2 () Worksheets ("Sheet1"). Активировать End Sub
Шаг 4: Переименуйте первый лист как Anand.
Код:
Sub Sample2 () Рабочие листы ("Sheet1"). Активировать рабочие листы ("Sheet1"). Name = "Anand" End Sub
Шаг 5: Показать сообщение о том, что лист 1 был переименован и код будет приостановлен на пять секунд.
Код:
Sub Sample2 () Worksheets ("Sheet1"). Активировать Worksheets ("Sheet1"). Name = "Anand" MsgBox "Лист 1 переименован, теперь код будет приостановлен на 5 секунд" End Sub
Шаг 6: Используйте функцию ожидания, чтобы заставить код ждать пять секунд.
Код:
Sub Sample2 () Worksheets ("Sheet1"). Активировать Worksheets ("Sheet1"). Name = "Anand" MsgBox "Лист 1, переименованный сейчас, код будет приостанавливаться на 5 секунд" Application.Wait (Now + TimeValue ("0:00: 05 ")) End Sub
Шаг 7: Теперь переименуйте второй лист 2 как Аран.
Код:
Sub Sample2 () Worksheets ("Sheet1"). Активировать Worksheets ("Sheet1"). Name = "Anand" MsgBox "Лист 1, переименованный сейчас, код будет приостанавливаться на 5 секунд" Application.Wait (Now + TimeValue ("0:00: 05 ")) Рабочие листы (" Sheet2 "). Активировать рабочие листы (" Sheet2 "). Name =" Aran "End Sub
Шаг 9: Показать сообщение о том, что лист 2 был переименован и ожидание прошло.
Код:
Sub Sample2 () Worksheets ("Sheet1"). Активировать Worksheets ("Sheet1"). Name = "Anand" MsgBox "Лист 1, переименованный сейчас, код будет приостанавливаться на 5 секунд" Application.Wait (Now + TimeValue ("0:00: 05 ")) Рабочие листы (" Sheet2 "). Активировать рабочие листы (" Sheet2 "). Name =" Aran "MsgBox" Время ожидания истекло, и лист 2 также переименован в "End Sub
Шаг 10: Теперь запустите код, чтобы увидеть результат.
Мы можем видеть, что лист 1 был переименован в Ананд, и мы получаем сообщение, которое ждет пять секунд. Нажмите OK и подождите пять секунд для второго сообщения.
Из приведенных выше примеров ясно, как использовать функцию ожидания в VBA.
То, что нужно запомнить
Есть несколько вещей, которые мы должны помнить о функции ожидания Excel VBA:
- Это похоже на функцию сна.
- Функция ожидания встроена в VBA в отличие от функции сна, которая является функцией Windows.
- Функция ожидания принимает время в качестве аргумента.
Рекомендуемые статьи
Это было руководство к функции ожидания VBA. Здесь мы обсудили, как использовать функцию ожидания VBA Excel вместе с практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи -
- Как использовать таймер VBA?
- Вычитать время в Excel
- Руководство по Excel VBA Time
- СЕЙЧАС функция Excel