Код за пауза в VBA

Дори се чудя, как би било чудесно, ако успеем да стартираме кода според нашето време, защото до този момент ще успеем да завършим другата работа и да направим тези данни готови за по-нататъшна работа. Това е необходимостта от всякакъв вид задачи, при които трябва да стартираме един набор от кодове и да работим върху други неща според изискванията на кода и докато не се изпълни другата част от кода, ще сме готови с данните, които трябва да обработим с същия код. Това може да стане с Sleep and Wait приложение на VBA. Чрез Sleep and Wait можем да спрем кода по всяко време. Времето може да бъде в секунди или време според часовника.

Синтаксис на пауза VBA в Excel

Синтаксисът за пауза VBA е следният:

Примери за пауза на VBA код в Excel

По-долу са различните примери за Пауза на VBA код в Excel.

Можете да изтеглите този шаблон на VBA Pause Excel тук - VBA Pause Excel шаблон

Пример №1 - Пауза VBA

В този пример ще видим как работи VBA Wait. Както виждаме приложението Wait позволява на Time като Boolean. Което означава, че ако стойността, която храним, е правилна, тогава бихме я получили като ИСТИНСКА ИНТЕРАЛНА.

За да видите как VBA Pause ще работи с приложението Wait във VBA,

Стъпка 1: Първо, ще ни трябва модул, в който ще пишем кода за това. Затова отидете на менюто Вмъкване и изберете Модул от падащата опция, както е показано по-долу.

Стъпка 2: Сега напишете подкатегорията в името на VBA Pause или в друго име според вашия избор, както е показано по-долу.

Код:

 Sub VBAPause1 () Край Sub 

За паузата VBA се нуждаем от набор от текст, който бихме искали да отпечатаме с пауза. Нека помислим, че текстът е „ Вземете… Задайте… Отидете… ". Така ще изберем 3 различни клетки, където ще съхраняваме тези текстови думи отделно във всяка клетка.

Стъпка 3: Изберете първия диапазон от клетка като A1 или всяка друга клетка по избор и за да й дадете стойността, изберете функция Value и дайте й стойност, както фиксирахме по-горе. Или изберете всяка стойност по избор.

Код:

 Sub VBAPause1 () Обхват ("A1"). Value = "Вземете …" End Sub 

Стъпка 4: Присвойте останалите стойности по същия начин, както направихме за първата стойност. Тук избираме клетки от А1 до С1 като наш диапазон.

Код:

 Под VBAPause1 () Обхват ("A1"). Стойност = "Вземете …" Обхват ("B1"). Стойност = "Задайте …" Обхват ("C1"). Стойност = "Отиди … !!!" Край Sub 

Стъпка 5: По всеки случай, ако пуснем пълния код, ще получим всички стойности Get. Разположен … Go .. !!! в един ход от клетка А1 до С1, както е показано по-долу.

Стъпка 6: Сега, ако искаме да направим пауза между цялата пауза, ще трябва да използваме приложението Изчакайте, както е показано по-долу. Ще използваме това приложение малко над последния диапазон.

Код:

 Под VBAPause1 () Обхват ("A1"). Стойност = "Вземете …" Обхват ("B1"). Стойност = "Задайте …" Приложение. !! "Край Sub 

Стъпка 7: В скобата на приложението Wait можем да запишем време във формат 24HRs или във формат AM / PM. Обмисляме формат 24HRs. Сега напишете времето в HH: MM: SS формат, когато искаме да стартираме останалата част от кода след пауза.

Код:

 Под VBAPause1 () Обхват ("A1"). Стойност = "Вземете …" Обхват ("B1"). Стойност = "Задайте …" Приложение.Почакайте ("12: 26: 00") Обхват ("C1") .Value = "Върви .. !!!" Край Sub 

Стъпка 8: Сега компилирайте кода и го стартирайте отново. Ще видим, в клетка A1 получихме стойността на клетката като "Вземи …" и все още курсорът работи на изчакване.

Стъпка 9: И след като часовникът достигне в 12:25:00 часа след това, останалите стойности на клетката в клетка В1 и С1 отново ще се появят очевидно, както е показано по-долу.

Пример №2 - Пауза VBA

Има и друг начин, по който можем да поставим на пауза кода, без да добавяме или променяме многократно времето в приложението Wait. За това бихме отнесли същия код, който видяхме в пример-1.

Стъпка 1: Сега в скобата на приложението Wait напишете Now () с TimeValue, което искаме да дадем. Нека помислим за паузата от 30 секунди.

Код:

 Под VBAPause2 () Обхват ("A1"). Стойност = "Вземете …" Обхват ("B1"). Стойност = "Задайте …" Приложение.Чакайте (Сега () + TimeValue ("00:00:30")) ) Диапазон ("C1"). Стойност = "Отиди … !!!" Край Sub 

Стъпка 2: Така че когато стартираме кода, VBA ще вземе предвид текущото време и ще добави 30 секунди пауза. И ще работи по подобен начин, както е работил в пример-1. За проверка стартирайте кода.

Първо, ще получим стойността на първата клетка на A1.

И след 30 секунди пауза, тя ще даде останалите стойности в клетка В1 и С1.

Пример №3 - Пауза VBA

В този пример ще видим как VBA Pause работи с Sleep приложение. По-долу е синтаксисът на Sleep приложение, което позволява ByVal dwMilliseconds само като LongPtr .

Сега тази стойност всъщност е във VBA. Трябва да въведем предварително изграден код, който е достъпен в MS Docs, както е показано по-долу.

Стъпка 1: Сега напишете подкатегорията за VBA Pause, както е показано по-долу.

Код:

 Sub VBAPause3 () Край Sub 

Стъпка 2: За тази цел трябва да определим 2 променливи за време на стартиране и заспиване като String, както е показано по-долу.

Код:

 Sub VBAPause3 () Dim Започва като String Dim Sleeping като String End Sub 

Стъпка 3: Задайте функция на времето на първата променлива, която е Starting .

Код:

 Sub VBAPause3 () Dim Starting as String Dim Sleeping as String Start = Time End Sub 

Стъпка 4: И използвайте Msgbox, за да видите стойността, запазена в променливата Starting.

Код:

 Sub VBAPause3 () Dim Starting as String Dim Sleeping as String Start = Време MsgBox Starting End Sub 

Стъпка 5: Сега използвайте Sleep приложение и разпределете броя на милисекундите, докато не искаме да заспим функциите.

Код:

 Sub VBAPause3 () Dim Starting като String Dim Sleeping as String Start = Time MsgBox Start Sleeping = Time End Sub 

Стъпка 6: Сега по подобен начин дайте приложението Time на втората променлива Sleeping . И използвайте MsgBox, за да видите стойността, съхранена в променливата Sleeping, както е показано по-долу.

Код:

 Sub VBAPause3 () Dim Starting as String Dim Sleeping as String Start = Време MsgBox Start Sleeping = Време MsgBox Sleeping End Sub 

Най-накрая компилирайте кода и стартирайте кода, като кликнете върху бутона Възпроизвеждане, разположен под лентата на менюто, както е показано по-долу. Ще получим полето за съобщение с времето, което ще бъде нашето начално време.

След като щракнем върху ОК, след 5000 милисекунди ще видим още едно поле със съобщение с време за сън, както е показано по-долу.

Времето за сън ще започне веднага след като щракнем върху бутона Ок. Не е разликата във времето между времето за стартиране и сън. Всъщност това е времето, след като кликнем върху бутона „Ок“ на първото поле за съобщения.

Плюсове на пауза VBA

  • Много е полезно, когато имаме множество функции, които да се изпълняват с определен интервал от време.
  • Това може да се използва за анализ и изчисление.

Неща, които трябва да запомните

  • Процес като VBA пауза не може да се извърши чрез запис на макроса.
  • Винаги е по-добре да се използва процес, показан в пример-2 за приложението Wait, при който ще бъдем в безопасност от промяна на времето отново и отново, вместо просто да запазим паузата от няколко секунди след текущото време.
  • Приложението за сън от пример-3 позволява само Милисекунди
  • Кодът за предварително изграждане, показан в началото на пример-3, е важна част, която трябва да приложите, тъй като ще задоволи синтаксиса на приложението Sleep.

Препоръчителни статии

Това е ръководство за пауза VBA. Тук обсъждаме как можем да поставим на пауза кода във всеки даден момент, като използваме Wait and Sleep Application. Можете да разгледате и другите ни предложени статии -

  1. Как да използвам VBA IsNumeric функция?
  2. Създаване на Combo Box в Excel
  3. Поставете CheckBox в Excel
  4. VBA UCASE функция в Excel

Категория: