VBA-wachtfunctie - Hoe de Excel VBA-wachtfunctie te gebruiken?

Inhoudsopgave:

Anonim

VBA-wachtfunctie

Net als de slaapfunctie Met de wachtfunctie in VBA wordt een code een paar seconden gewacht of gepauzeerd. Hoe dergelijke functies worden gebruikt die we nodig hebben om een ​​specifieke code in pauze te zetten of in de wacht te zetten om een ​​ander programma eerst te laten werken en vervolgens het andere programma te hervatten. Het wordt ook wel Application.Wait-methode genoemd in VBA.

Zoals de naam suggereert, wordt de VBA-wachtfunctie in VBA gebruikt om een ​​programma op een specifiek tijdstip te houden, zodat andere code gedurende die tijd kan werken. De achtergrondapplicaties blijven draaien en alleen de huidige module wacht.

Syntaxis voor wachtfunctie in Excel VBA

De syntaxis om de Application.Wait-functie in VBA te gebruiken is als volgt:

Deze functie retourneert een Booleaanse waarde.

Dus als we vandaag een code nodig hebben om tot 14:00 uur te wachten, is de syntaxis voor de code als volgt:

Application.Wait (“14:00:00”)

Met de bovenstaande code stopt de code tot 14:00 uur en wordt de code pas na 14:00 uur hervat. Dit is niet optimaal om een ​​code 2 uur te laten wachten. Over het algemeen willen we nog 10 seconden op een bepaalde code wachten en dan uitvoeren. Als ik code moet maken om 10 seconden te wachten, is de code als volgt:

Application.Wait (Now + TimeValue (“0:00:10”))

Nu is de functie die de huidige tijd in beslag neemt en we voegen 10 seconden toe aan de huidige tijd door de tijdwaardefunctie zodat de code 10 seconden kan wachten of pauzeren.

Opmerking: om VBA te kunnen gebruiken, moet het tabblad Ontwikkelaar zijn ingeschakeld via het tabblad Bestanden in het gedeelte Opties.

Hoe de Excel VBA-wachtfunctie te gebruiken?

We zullen leren hoe een VBA Wait Excel-functie te gebruiken met enkele voorbeelden.

U kunt deze VBA Wait Excel-sjabloon hier downloaden - VBA Wait Excel-sjabloon

Wachtfunctie VBA - Voorbeeld # 1

Momenteel is de tijd op mijn laptop 15.50 uur en ik wil dat de code om 16.00 uur wordt hervat. We zullen eenvoudige toevoeging aan sommige variabelen gebruiken, maar het resultaat na 16:00 weergeven. We willen dat de code op die periode wacht.

Stap 1: Ga naar het tabblad Ontwikkelaars en klik op Visual Basic om VB Editor te openen.

Stap 2: Klik op Tabblad invoegen en vervolgens op Module .

Stap 3: Zodra het codevenster wordt geopend, declareert u een subfunctie om de code te schrijven.

Code:

 Sub-monster () Einde Sub 

Stap 4: Declareer drie variabelen AB en C als een geheel getal.

Code:

 Sub-monster () Dim A, B, C als geheel getal Sub 

Stap 5: Wijs willekeurige waarden toe aan variabele A en B.

Code:

 Sub-monster () Dim A, B, C als geheel getal A = 10 B = 15 Einde Sub 

Stap 6: Gebruik een applicatie.wait-functie om de functie te laten wachten tot 16:00.

Code:

 Sub-voorbeeld () Dim A, B, C als geheel getal A = 10 B = 15 Toepassing. Wacht ("16:00:00") Einde Sub 

Stap 7: Gebruik de toevoeging van A en B en sla de uitvoer op in C.

Code:

 Sub-voorbeeld () Dim A, B, C als geheel getal A = 10 B = 15 Toepassing. Wacht ("16:00:00") C = A + B End Sub 

Stap 8: Gebruik een Msgbox-functie om de waarde van C weer te geven.

Code:

 Sub-voorbeeld () Dim A, B, C als geheel getal A = 10 B = 15 Toepassing Wacht ("16:00:00") C = A + B MsgBox C End Sub 

Stap 9: Voer de bovenstaande code uit. Als we de code hebben uitgevoerd, zien we dat de code pas om 16:00 uur wordt weergegeven, maar na 16:00 uur krijg ik de volgende uitvoer.

Ik moest wachten tot 16.00 uur om dit resultaat te zien. De code van de Msgbox-functie moest eigenlijk wachten.

Wachtfunctie VBA - Voorbeeld # 2

Laten we de code zien met enkele gepersonaliseerde berichten dat de code 10 seconden wacht en na 10 seconden zal het weergeven dat de wachttijd is verstreken en het eindresultaat wordt weergegeven.

Stap 1: Ga naar het tabblad Ontwikkelaars en klik op Visual Basic om VB Editor te openen.

Stap 2: Declareer een subfunctie om de code te schrijven.

Code:

 Sub Sample1 () Einde Sub 

Stap 3: Declareer drie variabelen AB en C als een geheel getal.

Code:

 Sub Sample1 () Dim A, B, C Als Integer End Sub 

Stap 4: Wijs willekeurige waarden toe aan A- en B-variabelen.

Code:

 Sub Sample1 () Dim A, B, C Als Geheel getal A = 2 B = 10 Einde Sub 

Stap 5: Gebruik een Msgbox-functie om aan te geven dat de wachttijd gaat beginnen.

Code:

 Sub Sample1 () Dim A, B, C Als Geheel getal A = 2 B = 10 MsgBox "De wachttijd is gestart" Einde Sub 

Stap 6: Gebruik de wachtfunctie om 10 seconden op de code te wachten.

Code:

 Sub Sample1 () Dim A, B, C Als Geheel getal A = 2 B = 10 MsgBox "De wachttijd is gestart" Application.Wait (Now + TimeValue ("0:00:10")) End Sub 

Stap 7: In Variabele C slaat het de waarde van B / A op en toont een gepersonaliseerd bericht dat de wachtperiode voorbij is en geeft vervolgens de waarde van C weer.

Code:

 Sub Sample1 () Dim A, B, C Als geheel getal A = 2 B = 10 MsgBox "De wachttijd is gestart" Toepassing. Wacht (Nu + TimeValue ("0:00:10")) C = B / A MsgBox " De wachttijd is voorbij "MsgBox C End Sub 

Stap 8: We voeren de code uit en zien het eerste bericht als volgt.

Stap 9: Druk op OK om het volgende resultaat te zien nadat 10 seconden zijn verstreken.

Stap 10: Als we op OK drukken, krijgen we het eindresultaat.

In het bovenstaande voorbeeld hebben we de code gemaakt om 10 seconden te wachten en vervolgens het resultaat van de waarde van C weer te geven.

VBA-wachtfunctie - Voorbeeld # 3

Laten we nu werkbladen blad 1 en blad 2 hernoemen als respectievelijk Anand en Aran, maar we willen een ruimte van 5 seconden tussen beide bladen die worden hernoemd.

Stap 1: Ga naar het tabblad Ontwikkelaars en klik op Visual Basic om VB Editor te openen.

Stap 2: Declareer een subfunctie om de code te schrijven.

Code:

 Sub Sample2 () Einde Sub 

Stap 3: Activeer het eerste werkblad.

Code:

 Sub Sample2 () Werkbladen ("Sheet1"). Activeer Sub Sub 

Stap 4: Hernoem het eerste werkblad als Anand.

Code:

 Sub Sample2 () Werkbladen ("Sheet1"). Activeer werkbladen ("Sheet1"). Name = "Anand" End Sub 

Stap 5: Geef een bericht weer dat blad 1 is hernoemd en de code wordt vijf seconden gepauzeerd.

Code:

 Sub Sample2 () Werkbladen ("Sheet1"). Activeer werkbladen ("Sheet1"). Name = "Anand" MsgBox "Blad 1 hernoemd nu code zal gedurende 5 seconden pauzeren" End Sub 

Stap 6: Gebruik de wachtfunctie om de code vijf seconden te laten wachten.

Code:

 Sub Sample2 () Werkbladen ("Sheet1"). Activeer werkbladen ("Sheet1"). Name = "Anand" MsgBox "Blad 1 hernoemde nu code zal gedurende 5 seconden pauzeren" Application.Wait (Now + TimeValue ("0:00: 05 ")) Einde Sub 

Stap 7: Hernoem nu het tweede vel 2 als Aran.

Code:

 Sub Sample2 () Werkbladen ("Sheet1"). Activeer werkbladen ("Sheet1"). Name = "Anand" MsgBox "Blad 1 hernoemde nu code zal gedurende 5 seconden pauzeren" Application.Wait (Now + TimeValue ("0:00: 05 ")) Werkbladen (" Sheet2 "). Activeer werkbladen (" Sheet2 "). Name =" Aran "End Sub 

Stap 9: Geef een bericht weer dat blad 2 is hernoemd en het wachten is geslaagd.

Code:

 Sub Sample2 () Werkbladen ("Sheet1"). Activeer werkbladen ("Sheet1"). Name = "Anand" MsgBox "Blad 1, nu hernoemd, code zal gedurende 5 seconden pauzeren" Application.Wait (Now + TimeValue ("0:00: 05 ")) Werkbladen (" Sheet2 "). Activeer werkbladen (" Sheet2 "). Name =" Aran "MsgBox" De wachttijd is voorbij en blad 2 wordt ook hernoemd "End Sub 

Stap 10: Voer nu de code uit om het resultaat te zien.

We kunnen zien dat blad 1 is hernoemd als Anand en we krijgen het bericht vijf seconden te wachten. Klik op OK en wacht vijf seconden op het tweede bericht.

Uit de bovenstaande voorbeelden is het duidelijk hoe de wachtfunctie in VBA moet worden gebruikt.

Dingen om te onthouden

Er zijn een paar dingen die we moeten onthouden over de wachtfunctie van Excel VBA:

  • Het is vergelijkbaar met de slaapfunctie.
  • De wachtfunctie is ingebouwd in VBA in tegenstelling tot de slaapfunctie die een Windows-functie is.
  • De wachtfunctie neemt de tijd als argument.

Aanbevolen artikelen

Dit is een handleiding geweest voor de VBA-wachtfunctie. Hier hebben we besproken hoe u Excel VBA-wachtfunctie kunt gebruiken, samen met praktische voorbeelden en een downloadbare Excel-sjabloon. U kunt ook onze andere voorgestelde artikelen doornemen -

  1. Hoe VBA TIMER te gebruiken?
  2. Tijd aftrekken in Excel
  3. Gids voor Excel VBA-tijd
  4. NU Excel-functie