VBA Vänta-funktion
Liknar sömnfunktionen Vänta-funktionen i VBA skapar en kod för att vänta eller pausa i några sekunder. Hur sådana funktioner används som vi behöver göra någon specifik kod för att vara i paus eller håll för att låta något annat program fungera först och sedan återuppta det andra programmet. Det kallas också som Application.Wait-metod i VBA.
Som namnet antyder VBA Wait-funktion i VBA används för att hålla ett program till en viss tid så att annan kod kan fungera under den tiden. Bakgrundsapplikationerna fortsätter att köras och bara den aktuella modulen väntar.
Syntax för vänta-funktion i Excel VBA
Syntaxen för att använda Application.Wait-funktionen i VBA är som följer:
Denna funktion returnerar ett booleskt värde.
Så om vi behöver en kod för att vänta till 14:00 idag kommer syntaxen för koden att vara följande:
Application.Wait (“14:00:00”)
Ovanstående kod kommer att göra att koden stannar tills 14:00 och koden kommer att återupptas först efter 14:00. Detta är inte optimalt för att få en kod att vänta till 14.00, i allmänhet vill vi vänta på en viss kod i ytterligare 10 sekunder och sedan köra. Om jag behöver skapa kod för att vänta i 10 sekunder kommer koden att vara följande:
Application.Wait (Nu + TimeValue (“0:00:10”))
Nu är den funktion som tar aktuell tid och vi lägger till 10 sekunder till den aktuella tid-till-tid-funktionen så att koden kan vänta eller pausa i 10 sekunder.
Obs: För att kunna använda VBA måste vi ha utvecklarens flik aktiverad från fliken Filer i avsnittet med alternativ.Hur använder jag Excel VBA Wait-funktion?
Vi lär dig hur man använder en VBA Wait Excel-funktion med några exempel.
Du kan ladda ner denna VBA Vänta Excel-mall här - VBA Vänta Excel-mallVBA Wait-funktion - Exempel # 1
För närvarande är tiden på min bärbara dator 15:50 och jag vill att koden ska återupptas kl 16:00. Vi kommer att använda ett enkelt tillägg till vissa variabler men visar resultatet efter 16:00. Vi vill att koden ska vänta på den perioden.
Steg 1: Gå till fliken Utvecklare och klicka på Visual Basic för att öppna VB Editor.
Steg 2: Klicka på Insert Tab och klicka sedan på Module .
Steg 3: När kodfönstret öppnas förklarar du en underfunktion för att börja skriva koden.
Koda:
Sub Sample () Slut Sub
Steg 4: Förklara tre variabler AB och C som ett heltal.
Koda:
Subprov () Dim A, B, C Som heltal Sub Sub
Steg 5: Tilldela slumpmässiga värden till variabeln A och B.
Koda:
Subprov () Dim A, B, C som heltal A = 10 B = 15 End Sub
Steg 6: Använd en funktion.wait-funktion för att få funktionen att vänta till 16:00.
Koda:
Subprov () Dim A, B, C som heltal A = 10 B = 15 Applikation. Vänta ("16:00:00") Slut Sub
Steg 7: Använd tillsatsen av A och B och lagra utdata i C.
Koda:
Subprov () Dim A, B, C som heltal A = 10 B = 15 Applikation. Vänta ("16:00:00") C = A + B End Sub
Steg 8: Använd en Msgbox-funktion för att visa värdet på C.
Koda:
Subprov () Dim A, B, C som heltal A = 10 B = 15 Applikation. Vänta ("16:00:00") C = A + B MsgBox C End Sub
Steg 9: Kör ovanstående kod. När vi kör koden ser vi att koden inte visar ett meddelande förrän 16:00 men efter 16:00 får jag följande utgång.
Jag var tvungen att vänta till 16:00 för att se detta resultat. Koden för Msgbox-funktionen fick faktiskt vänta.
VBA Wait Funktion - Exempel # 2
Låt oss se koden med några personliga meddelanden att koden kommer att vänta i 10 sekunder och efter att 10 sekunder har gått kommer den att visa att väntetiden har gått ut och det slutliga resultatet visas.
Steg 1: Gå till fliken Utvecklare och klicka på Visual Basic för att öppna VB Editor.
Steg 2: Förklara en underfunktion för att börja skriva koden.
Koda:
Sub Sample1 () Slut Sub
Steg 3: Förklara tre variabler AB och C som ett heltal.
Koda:
Subprov1 () Dim A, B, C Som heltal slut Sub
Steg 4: Tilldela slumpmässiga värden till A- och B-variabler.
Koda:
Subprov1 () Dim A, B, C som heltal A = 2 B = 10 End Sub
Steg 5: Använd en Msgbox-funktion för att visa att väntetiden är på väg att starta.
Koda:
Underprov1 () Dim A, B, C som heltal A = 2 B = 10 MsgBox "Väntetiden börjar" Slut Sub
Steg 6: Använd vänta-funktionen för att vänta på koden i 10 sekunder.
Koda:
Underprov1 () Dim A, B, C som heltal A = 2 B = 10 MsgBox "Väntetiden startas" Ansökan. Vänta (nu + TimeValue ("0:00:10"))
Steg 7: I variabel C lagrar det värdet på B / A och visar ett personligt meddelande om att väntetiden är över och sedan visar värdet på C.
Koda:
Underprov1 () Dim A, B, C som heltal A = 2 B = 10 MsgBox "Väntetiden startas" Application.Wait (Nu + TimeValue ("0:00:10")) C = B / A MsgBox " Väntetiden är över "MsgBox C End Sub
Steg 8: Vi kör koden och ser det första meddelandet på följande sätt.
Steg 9: Tryck på OK för att se nästa resultat efter 10 sekunder.
Steg 10: När vi trycker på ok får vi det slutliga resultatet.
I exemplet ovan gjorde vi koden att vänta i 10 sekunder och sedan visa resultatet av värdet på C.
VBA Wait Funktion - Exempel # 3
Låt oss nu byta namn på kalkylblad 1 och ark 2 som Anand och Aran respektive men vi vill ha ett gap på 5 sekunder mellan båda arken.
Steg 1: Gå till fliken Utvecklare och klicka på Visual Basic för att öppna VB Editor.
Steg 2: Förklara en underfunktion för att börja skriva koden.
Koda:
Sub Sample2 () Slut Sub
Steg 3: Aktivera det första kalkylbladet.
Koda:
Underprov2 () Arbetsblad ("Blad1"). Aktivera slutunder
Steg 4: Byt namn på det första kalkylbladet som Anand.
Koda:
Underprov2 () Kalkylblad ("Blad1"). Aktivera kalkylblad ("Ark 1"). Namn = "Anand" Slutunder
Steg 5: Visa ett meddelande om att ark 1 har bytt namn och koden kommer att pausa i fem sekunder.
Koda:
Underprov2 () Arbetsblad ("Sheet1"). Aktivera Worksheets ("Sheet1"). Namn = "Anand" MsgBox "Sheet 1 som bytt namn på nu kod kommer att pausa i 5 sekunder" End Sub
Steg 6: Använd funktionen Vänta för att få koden att vänta i fem sekunder.
Koda:
Underprov2 () Arbetsblad ("Sheet1"). Aktivera Worksheets ("Sheet1"). Namn = "Anand" MsgBox "Sheet 1 som bytt namn nu kommer att pausa i 5 sekunder" Application.Wait (Nu + TimeValue ("0:00: 05 ")) End Sub
Steg 7: Byt nu det andra arket 2 till Aran.
Koda:
Underprov2 () Arbetsblad ("Sheet1"). Aktivera Worksheets ("Sheet1"). Namn = "Anand" MsgBox "Sheet 1 som bytt namn nu kommer att pausa i 5 sekunder" Application.Wait (Nu + TimeValue ("0:00: 05 ")) Arbetsblad (" Sheet2 "). Aktivera Worksheets (" Sheet2 "). Name =" Aran "End Sub
Steg 9: Visa ett meddelande om att ark 2 har bytt namn och väntan har passerat.
Koda:
Underprov2 () Arbetsblad ("Sheet1"). Aktivera Worksheets ("Sheet1"). Namn = "Anand" MsgBox "Sheet 1 som bytt namn nu kommer att pausa i 5 sekunder" Application.Wait (Nu + TimeValue ("0:00: 05 ")) Kalkylblad (" Ark2 "). Aktivera kalkylblad (" Kladd2 "). Namn =" Aran "MsgBox" Väntetiden är över och ark 2 byts också om till "Slut sub
Steg 10: Kör nu koden för att se resultatet.
Vi kan se att ark 1 har bytt namn till Anand och vi får meddelandet att vänta i fem sekunder. Klicka på OK och vänta i fem sekunder på det andra meddelandet.
Av exemplen ovan är det tydligt hur man använder Wait-funktionen i VBA.
Saker att komma ihåg
Det finns några saker vi behöver komma ihåg om Excel VBA Wait Funktion:
- Det liknar sömnfunktionen.
- Väntfunktionen är inbyggd i VBA till skillnad från sömnfunktion som är en Windows-funktion.
- Vänta-funktion tar tid som ett argument.
Rekommenderade artiklar
Detta har varit en guide till VBA Wait Function. Här diskuterade vi hur du använder Excel VBA Wait Function tillsammans med praktiska exempel och nedladdningsbar Excel-mall. Du kan också gå igenom våra andra föreslagna artiklar -
- Hur använder man VBA TIMER?
- Subtrahera tid i Excel
- Guide till Excel VBA-tid
- NU Excel-funktion