Wstrzymaj kod w VBA

Zastanawiam się nawet, jak byłoby wspaniale, gdybyśmy mogli uruchomić kod według naszego czasu, ponieważ do tego czasu zdołalibyśmy ukończyć drugą pracę i przygotować te dane do dalszej pracy. Jest to konieczne do wszelkiego rodzaju zadań, w których musimy uruchomić jeden zestaw kodu i pracować nad innymi rzeczami zgodnie z wymaganiami kodu i dopóki nie uruchomi się inna część kodu, będziemy gotowi na dane, które musimy przetworzyć za pomocą ten sam kod. Można to zrobić za pomocą aplikacji VBA Sleep i Wait. Za pomocą funkcji Sleep and Wait możemy wstrzymać kod w dowolnym momencie. Czas może być wyrażony w sekundach lub w czasie według zegara.

Składnia pauzy VBA w programie Excel

Składnia pauzy VBA jest następująca:

Przykłady wstrzymywania kodu VBA w programie Excel

Poniżej znajdują się różne przykłady Wstrzymaj kod VBA w programie Excel.

Możesz pobrać ten szablon pauzy VBA tutaj - Szablon pauzy VBA

Przykład # 1 - Pauza VBA

W tym przykładzie zobaczymy, jak działa VBA Wait. Jak widzimy aplikacja Wait zezwala na czas jako wartość logiczną. Co oznacza, że ​​jeśli podawana wartość jest poprawna, otrzymalibyśmy ją jako PRAWDA, w przeciwnym razie FAŁSZ.

Aby zobaczyć, jak VBA Pause będzie działać z aplikacją Wait w VBA,

Krok 1: Po pierwsze, potrzebowalibyśmy modułu, w którym będziemy pisać kod do tego. Przejdź do menu Wstaw i wybierz opcję Moduł z menu rozwijanego, jak pokazano poniżej.

Krok 2: Teraz wpisz podkategorię w nazwie VBA Pause lub w dowolnej innej nazwie zgodnie z Twoim wyborem, jak pokazano poniżej.

Kod:

 Sub VBAPause1 () End Sub 

Do pauzy VBA potrzebujemy zestawu tekstów, który chcielibyśmy wydrukować z pauzą. Rozważmy ten tekst jako „ Get… Set… Go… !! ”. Tak więc wybierzemy 3 różne komórki, w których będziemy przechowywać te słowa tekstowe osobno w każdej komórce.

Krok 3: Wybierz pierwszy zakres komórki jako A1 lub dowolną inną komórkę zgodnie z wyborem, a aby nadać jej wartość, wybierz funkcję Wartość i nadaj jej wartość, którą ustaliliśmy powyżej. Lub wybierz dowolną wartość według wyboru.

Kod:

 Sub VBAPause1 () Zakres („A1”). Wartość = „Get …” End Sub 

Krok 4: Przypisz pozostałe wartości w taki sam sposób, jak w przypadku pierwszej wartości. Tutaj wybieramy komórki od A1 do C1 jako nasz zakres.

Kod:

 Sub VBAPause1 () Range („A1”). Value = „Get …” Range („B1”). Value = „Set…” Range („C1”). Value = „Go .. !!!” Napis końcowy 

Krok 5: Gdybyśmy uruchomili cały kod, otrzymalibyśmy wszystkie wartości Get. Ustaw… Idź .. !!! za jednym razem z komórki A1 do C1, jak pokazano poniżej.

Krok 6: Teraz, jeśli chcemy zrobić przerwę między całą pauzą, będziemy musieli użyć aplikacji Poczekaj, jak pokazano poniżej. Będziemy używać tej aplikacji tuż powyżej ostatniego zakresu.

Kod:

 Sub VBAPause1 () Range („A1”). Value = „Get …” Range („B1”). Value = „Set…” Application.Wait (Range („C1”). Value = „Go ..! !!" Napis końcowy 

Krok 7: W nawiasie aplikacji Wait możemy pisać czas w formacie 24HR lub w formacie AM / PM. Rozważamy format 24HR. Teraz napisz czas w formacie GG: MM: SS, kiedy po przerwie chcemy uruchomić resztę kodu.

Kod:

 Sub VBAPause1 () Range („A1”). Value = „Get …” Range („B1”). Value = „Set…” Application.Wait („12: 26: 00”) Range („C1”) .Value = "Go .. !!!" Napis końcowy 

Krok 8: Teraz skompiluj kod i uruchom go ponownie. Zobaczymy, w komórce A1 otrzymaliśmy wartość komórki jako „Get…” i kursor nadal działa w trybie oczekiwania.

Krok 9: Kiedy zegar osiągnie godzinę 12:25:00, pozostałe wartości komórek w komórkach B1 i C1 ponownie pojawią się, jak pokazano poniżej.

Przykład 2 - Pauza VBA

Istnieje inny sposób, w jaki możemy wstrzymać kod bez wielokrotnego dodawania lub zmieniania czasu w aplikacji Wait. W tym celu odsyłamy ten sam kod, który widzieliśmy w przykładzie 1.

Krok 1: Teraz w nawiasach aplikacji Wait napisz Now () z TimeValue, którą chcemy podać. Rozważmy przerwę 30 sekund.

Kod:

 Sub VBAPause2 () Range („A1”). Value = „Get …” Range („B1”). Value = „Set…” Application.Wait (Now () + TimeValue („00:00:30”) ) Zakres („C1”). Wartość = „Idź .. !!!” Napis końcowy 

Krok 2: Kiedy uruchomimy kod, VBA weźmie pod uwagę aktualny czas i doda 30 sekundową pauzę. I będzie działał w podobny sposób, jak działał w przykładzie 1. W celu sprawdzenia uruchom kod.

Najpierw otrzymamy pierwszą wartość komórki w A1.

A po 30 sekundach pauza da resztę wartości w komórkach B1 i C1.

Przykład # 3 - Pauza VBA

W tym przykładzie zobaczymy, jak VBA Pause działa z aplikacją Sleep . Poniżej znajduje się składnia aplikacji Sleep, która pozwala ByVal dwMilliseconds tylko jako LongPtr .

Teraz ta wartość jest w rzeczywistości w języku VBA. Musimy wprowadzić wstępnie zbudowany kod, który jest dostępny w MS Docs, jak pokazano poniżej.

Krok 1: Teraz napisz podkategorię dla pauzy VBA, jak pokazano poniżej.

Kod:

 Sub VBAPause3 () End Sub 

Krok 2: W tym celu musielibyśmy zdefiniować 2 zmienne Czas rozpoczęcia i uśpienia jako Ciąg, jak pokazano poniżej.

Kod:

 Sub VBAPause3 () Ściemnianie Początek jako ciąg Ściemnianie Śpiący jako Ciąg Koniec Sub 

Krok 3: Przypisz funkcję czasu do pierwszej zmiennej, która jest uruchamiana .

Kod:

 Sub VBAPause3 () Przyciemnienie jako ciąg Przyciemnienie jako ciąg Rozpoczęcie = czas zakończenia Sub 

Krok 4: I użyj Msgbox, aby zobaczyć wartość przechowywaną w zmiennej początkowej .

Kod:

 Sub VBAPause3 () Dim Początek jako ciąg Dim Dim Sleeping As String Początek = Czas MsgBox Początek Koniec Sub 

Krok 5: Teraz użyj aplikacji Uśpij i przydziel liczbę milisekund, aż będziemy chcieli spać funkcje.

Kod:

 Sub VBAPause3 () Dim Począwszy jako ciąg Dim Ściemnianie jako ciąg Początek = czas MsgBox Początek uśpienia = czas Koniec Sub 

Krok 6: Teraz w podobny sposób podaj aplikację Time drugiej zmiennej Sleeping . I użyj MsgBox, aby zobaczyć wartość przechowywaną w zmiennej Sleeping, jak pokazano poniżej.

Kod:

 Sub VBAPause3 () Dim Początek jako ciąg Dim Dim Sleeping As String Początek = Czas MsgBox Początek Sleeping = Czas MsgBox Sleeping Koniec Sub 

Na koniec skompiluj kod i uruchom kod, klikając przycisk Odtwórz znajdujący się pod paskiem menu, jak pokazano poniżej. Otrzymamy okno komunikatu z czasem, który będzie naszym czasem rozpoczęcia .

Po kliknięciu przycisku OK po 5000 milisekundach zostanie wyświetlone kolejne okno komunikatu z czasem uśpienia, jak pokazano poniżej.

Czas snu rozpocznie się zaraz po kliknięciu przycisku OK. To nie jest różnica czasu między czasem rozpoczęcia a snem. W rzeczywistości jest to czas po kliknięciu przycisku OK w pierwszym oknie wiadomości.

Zalety pauzy VBA

  • Jest to bardzo przydatne, gdy mamy do wykonania wiele funkcji w określonym przedziale czasu.
  • Można to wykorzystać do celów analizy i obliczeń.

Rzeczy do zapamiętania

  • Procesu, takiego jak Pauza VBA, nie można wykonać, rejestrując makro.
  • Zawsze lepiej jest użyć procesu pokazanego w przykładzie 2 dla aplikacji Wait, w którym będziemy mogli bezpiecznie zmieniać czas raz po raz, zamiast po prostu zatrzymać pauzę kilka sekund po bieżącym czasie.
  • Aplikacja uśpienia z przykładu 3 dopuszcza tylko milisekundy
  • Kod kompilacji wstępnej pokazany na początku przykładu 3 jest ważną częścią do zastosowania, ponieważ spełnia on składnię aplikacji Sleep.

Polecane artykuły

To jest przewodnik po pauzie VBA. Tutaj omawiamy, w jaki sposób możemy wstrzymać kod w dowolnym momencie za pomocą aplikacji Wait and Sleep. Możesz również przejrzeć nasze inne sugerowane artykuły -

  1. Jak korzystać z funkcji VBA IsNumeric?
  2. Tworzenie pola kombi w programie Excel
  3. Wstaw CheckBox do Excela
  4. Funkcja VBA UCASE w programie Excel

Kategoria: