Funkcja oczekiwania VBA
Podobne do funkcji snu Funkcja czekania w VBA powoduje, że kod czeka lub zatrzymuje się na kilka sekund. W jaki sposób wykorzystywane są takie funkcje, musimy wprowadzić jakiś konkretny kod, aby wstrzymać lub przytrzymać, aby jakiś inny program działał najpierw, a następnie wznowił działanie innego programu. Jest również nazywany metodą Application.Wait w VBA.
Jak sama nazwa wskazuje, funkcja VBA Funkcja czekania w VBA służy do utrzymywania programu na określony czas, aby w tym czasie mógł działać inny kod. Aplikacje w tle działają nadal i tylko bieżący moduł czeka.
Składnia funkcji oczekiwania w programie Excel VBA
Składnia do użycia funkcji Application.Wait w VBA jest następująca:
Ta funkcja zwraca wartość logiczną.
Jeśli więc potrzebujemy kodu, aby poczekać do 14:00, jego składnia będzie następująca:
Application.Wait („14:00:00”)
Powyższy kod spowoduje zatrzymanie kodu do godziny 14:00, a kod zostanie wznowiony dopiero po godzinie 14:00. Nie jest to optymalne, aby kod czekał na 2 po południu, generalnie chcemy poczekać na określony kod przez kolejne 10 sekund, a następnie uruchomić. Jeśli muszę wprowadzić kod, aby czekać 10 sekund, kod będzie wyglądał następująco:
Application.Wait (Now + TimeValue („0:00:10”))
Teraz jest funkcja, która zajmie bieżący czas i dodajemy 10 sekund do bieżącej funkcji czasu poprzez funkcję wartości czasu, aby kod mógł czekać lub wstrzymać się na 10 sekund.
Uwaga: Aby korzystać z VBA, musimy mieć włączoną kartę programisty z zakładki Pliki w sekcji opcji.Jak korzystać z funkcji Excel VBA Wait?
Nauczymy się korzystać z funkcji Excela VBA Czekaj z kilkoma przykładami.
Możesz pobrać ten szablon VBA Wait Excel tutaj - VBA Wait Excel TemplateFunkcja VBA Wait - przykład nr 1
Obecnie czas na moim laptopie to 15:50 i chcę, aby kod wznowił się o 16:00. Użyjemy prostego dodatku do niektórych zmiennych, ale wyświetlimy wynik po 16:00. Chcemy, aby kod czekał na ten okres.
Krok 1: Przejdź do karty Deweloper i kliknij Visual Basic, aby otworzyć Edytor VB.
Krok 2: Kliknij kartę Wstaw, a następnie kliknij Moduł .
Krok 3: Po otwarciu okna kodu zadeklaruj podfunkcję, aby rozpocząć pisanie kodu.
Kod:
Sub Sample () End Sub
Krok 4: Zadeklaruj trzy zmienne AB i C jako liczbę całkowitą.
Kod:
Sub Sample () Dim A, B, C As Integer End Sub
Krok 5: Przypisz losowe wartości do zmiennej A i B.
Kod:
Sub Sample () Dim A, B, C As Integer A = 10 B = 15 End Sub
Krok 6: Użyj funkcji application.wait, aby funkcja czekała do 16:00.
Kod:
Próbka dodatkowa () Dim A, B, C Jako liczba całkowita A = 10 B = 15 Aplikacja Poczekaj („16:00:00”) Koniec Sub
Krok 7: Użyj dodatku A i B i zapisz dane wyjściowe w C.
Kod:
Próbka dodatkowa () Dim A, B, C Jako liczba całkowita A = 10 B = 15 Zastosowanie Poczekaj („16:00:00”) C = A + B Koniec Sub
Krok 8: Użyj funkcji Msgbox, aby wyświetlić wartość C.
Kod:
Próbka dodatkowa () Dim A, B, C Jako liczba całkowita A = 10 B = 15 Zastosowanie Poczekaj („16:00:00”) C = A + B MsgBox C Koniec Sub
Krok 9: Uruchom powyższy kod. Po uruchomieniu kodu widzimy, że kod nie wyświetla komunikatu aż do 16:00, ale po 16:00 otrzymuję następujący wynik.
Musiałem czekać do 16:00, aby zobaczyć ten wynik. Kod funkcji Msgbox musiał faktycznie czekać.
Funkcja VBA Wait - przykład # 2
Zobaczmy kod z niektórymi spersonalizowanymi wiadomościami, że kod będzie czekać 10 sekund, a po 10 sekundach wyświetli się, że upłynął czas oczekiwania i wyświetli ostateczny wynik.
Krok 1: Przejdź do karty Deweloper i kliknij Visual Basic, aby otworzyć Edytor VB.
Krok 2: Zadeklaruj podfunkcję, aby rozpocząć pisanie kodu.
Kod:
Sub Sample1 () End Sub
Krok 3: Zadeklaruj trzy zmienne AB i C jako liczbę całkowitą.
Kod:
Sub Sample1 () Dim A, B, C As Integer End Sub
Krok 4: Przypisz losowe wartości do zmiennych A i B.
Kod:
Sub Sample 1 () Dim A, B, C As Integer A = 2 B = 10 End Sub
Krok 5: Użyj funkcji Msgbox, aby wyświetlić, że wkrótce zacznie się czas oczekiwania.
Kod:
Sub Próbka 1 () Dim A, B, C Jako liczba całkowita A = 2 B = 10 MsgBox „Rozpoczęto czas oczekiwania” Zakończ Sub
Krok 6: Użyj funkcji Czekaj, aby czekać na kod przez 10 sekund.
Kod:
Sub Próbka 1 () Dim A, B, C Jako liczba całkowita A = 2 B = 10 MsgBox Aplikacja „Czas oczekiwania jest uruchamiany” Poczekaj (Teraz + Wartość_wartości („0:00:10”)) Koniec Sub
Krok 7: W zmiennej C przechowuje wartość B / A i wyświetla spersonalizowany komunikat, że upłynął okres oczekiwania, a następnie wyświetla wartość C.
Kod:
Podpróbka 1 () Dim A, B, C Jako liczba całkowita A = 2 B = 10 MsgBox Aplikacja „Czas oczekiwania został rozpoczęty” Poczekaj (Teraz + Wartość_wartości („0:00:10”)) C = B / A MsgBox ” Czas oczekiwania się skończył ”MsgBox C End Sub
Krok 8: Uruchamiamy kod i widzimy pierwszą wiadomość w następujący sposób.
Krok 9: Naciśnij OK, aby zobaczyć następny wynik po upływie 10 sekund.
Krok 10: Kiedy naciśniemy ok, otrzymamy końcowy wynik.
W powyższym przykładzie sprawiliśmy, że kod czekał przez 10 sekund, a następnie wyświetlał wynik wartości C.
Funkcja VBA Wait - przykład nr 3
Teraz zmieńmy nazwy arkuszy 1 i 2 arkusza roboczego odpowiednio na Anand i Aran, ale chcemy, aby zmiana nazwy obu arkuszy trwała 5 sekund.
Krok 1: Przejdź do karty Deweloper i kliknij Visual Basic, aby otworzyć Edytor VB.
Krok 2: Zadeklaruj podfunkcję, aby rozpocząć pisanie kodu.
Kod:
Sub Sample2 () End Sub
Krok 3: Aktywuj pierwszy arkusz.
Kod:
Sub Sample2 () Arkusze robocze („Arkusz 1”). Aktywuj End Sub
Krok 4: Zmień nazwę pierwszego arkusza na Anand.
Kod:
Sub Próbki 2 () Arkusze („Arkusz 1”). Aktywuj arkusze („Arkusz 1”). Nazwa = „Anand” Koniec Sub
Krok 5: Wyświetl komunikat, że nazwa arkusza 1 została zmieniona, a kod zostanie wstrzymany na pięć sekund.
Kod:
Sub Próbki 2 () Arkusze robocze („Arkusz 1”). Aktywuj arkusze robocze („Arkusz 1”). Nazwa = „Anand” MsgBox ”Arkusz 1 o zmienionej nazwie teraz kod zatrzyma się na 5 sekund” Koniec Sub
Krok 6: Użyj funkcji Czekaj, aby kod czekał przez pięć sekund.
Kod:
Sub Sample2 () Arkusze robocze („Arkusz1”). Aktywuj arkusze robocze („Arkusz1”). Nazwa = „Anand” MsgBox ”Arkusz 1 o zmienionej nazwie teraz kod zostanie wstrzymany na 5 sekund” Application.Wait (Now + TimeValue („0:00: 05 ")) End Sub
Krok 7: Teraz zmień nazwę drugiego arkusza 2 na Aran.
Kod:
Sub Sample2 () Arkusze robocze („Arkusz1”). Aktywuj arkusze robocze („Arkusz1”). Nazwa = „Anand” MsgBox ”Arkusz 1 o zmienionej nazwie teraz kod zostanie wstrzymany na 5 sekund” Application.Wait (Now + TimeValue („0:00: 05 ”)) Arkusze robocze („ Arkusz2 ”). Aktywuj arkusze robocze („ Arkusz2 ”). Nazwa =„ Aran ”End Sub
Krok 9: Wyświetl komunikat, że nazwa arkusza 2 została zmieniona, a oczekiwanie zostało zakończone.
Kod:
Sub Sample2 () Arkusze robocze („Arkusz 1”). Aktywuj arkusze robocze („Arkusz 1”). Nazwa = „Anand” MsgBox ”Arkusz 1 o zmienionej nazwie teraz kod zostanie wstrzymany na 5 sekund” Application.Wait (Now + TimeValue („0:00: 05 ”)) Arkusze robocze („ Arkusz2 ”). Aktywuj arkusze robocze („ Arkusz2 ”). Nazwa =„ Aran ”MsgBox” Czas oczekiwania się skończył, a nazwa arkusza 2 została również przemianowana na „End Sub
Krok 10: Teraz uruchom kod, aby zobaczyć wynik.
Widzimy, że nazwa arkusza 1 została zmieniona na Anand i otrzymujemy wiadomość, aby czekać pięć sekund. Kliknij OK i poczekaj pięć sekund na drugą wiadomość.
Z powyższych przykładów jasno wynika, jak używać funkcji oczekiwania w VBA.
Rzeczy do zapamiętania
Jest kilka rzeczy, które musimy pamiętać o funkcji oczekiwania VBA programu Excel:
- Jest podobny do funkcji uśpienia.
- Funkcja oczekiwania jest wbudowana w VBA w przeciwieństwie do funkcji uśpienia, która jest funkcją systemu Windows.
- Funkcja czekania traktuje Czas jako argument.
Polecane artykuły
Jest to przewodnik po VBA Wait Function. Tutaj omówiliśmy, jak korzystać z funkcji Excel VBA Wait Function wraz z praktycznymi przykładami i szablonem Excela do pobrania. Możesz także przejrzeć nasze inne sugerowane artykuły -
- Jak korzystać z VBA TIMER?
- Odejmij czas w programie Excel
- Przewodnik po Excel VBA Time
- TERAZ funkcja Excel