Pausa kod i VBA

Till och med undrar, hur det skulle vara bra om vi kunde köra koden enligt våra tidstillstånd eftersom vi fram till dess skulle lyckas slutföra det andra arbetet och göra dessa data redo för ytterligare jobb. Detta är behovet av alla typer av uppgifter där vi behöver köra en uppsättning kod och arbeta med andra saker enligt kodkravet och tills den andra delen av koden körs, skulle vi vara redo med de data vi behöver för att bearbeta med samma kod. Detta kan göras med Sleep and Wait-tillämpning av VBA. Genom att sova och vänta kan vi pausa koden när som helst. Tiden kan vara i sekunder eller tid enligt klocka.

Syntax för VBA-paus i Excel

Syntaxen för VBA-paus är som följer:

Exempel på paus i VBA-kod i Excel

Nedan följer de olika exemplen på pausa VBA-kod i Excel.

Du kan ladda ner denna VBA paus Excel-mall här - VBA paus Excel mall

Exempel 1 - VBA-paus

I det här exemplet kommer vi att se hur VBA Wait fungerar. Som vi kan se Vänta ansökan tillåter Time as Boolean. Vilket innebär att om värdet vi matar är korrekt skulle vi få det som SANT annars FALSE.

För att se hur VBA Pause kommer att fungera med Wait-applikationen i VBA,

Steg 1: Först skulle vi behöva en modul där vi skriver koden för detta. Så gå till Infoga menyn och välj Modul från rullgardinsalternativet som visas nedan.

Steg 2: Skriv nu underkategorin i VBA-pausens namn eller i något annat namn enligt ditt val som visas nedan.

Koda:

 Sub VBAPause1 () Slut Sub 

För VBA-pausen behöver vi en uppsättning text som vi vill skriva ut med en paus. Låt oss överväga att texten är " Get … Set … Go … !! ”. Så vi kommer att välja 3 olika celler där vi kommer att hålla dessa textord separat i varje cell.

Steg 3: Välj det första cellområdet som A1 eller vilken annan cell som helst, och för att ge den värdet, välj värdefunktion och ge den ett värde som vi fixade ovan. Eller välj valfritt värde.

Koda:

 Sub VBAPause1 () Range ("A1"). Value = "Get …" End Sub 

Steg 4: Tilldela resten av värdena på samma sätt som vi gjorde för det första värdet. Här väljer vi celler från A1 till C1 som vårt sortiment.

Koda:

 Sub VBAPause1 () Range ("A1"). Value = "Get …" Range ("B1"). Value = "Set…" Range ("C1"). Value = "Go .. !!!" Avsluta under 

Steg 5: Om vi ​​kör en fullständig kod, skulle vi få alla värden Get. Set … Go .. !!! på en gång från cell A1 till C1 som visas nedan.

Steg 6: Nu, om vi vill få paus mellan hela pausen, måste vi använda applikationen Vänta som visas nedan. Vi kommer att använda den här applikationen strax över det sista intervallet.

Koda:

 Sub VBAPause1 () Range ("A1"). Value = "Get …" Range ("B1"). Value = "Set …" Application.Wait (Range ("C1"). Value = "Go ..! !! "End Sub 

Steg 7: I fästet i Wait-applikationen kan vi skriva tid i 24HR-format eller i AM / PM-format. Vi överväger 24HR-format. Skriv nu tiden i HH: MM: SS-format när vi vill köra resten av koden efter en paus.

Koda:

 Sub VBAPause1 () Range ("A1"). Value = "Get …" Range ("B1"). Value = "Set …" Application.Wait ("12: 26: 00") Range ("C1") .Value = "Gå .. !!!" Avsluta under 

Steg 8: Sätt nu koden och kör den igen. Vi kommer att se, vid cell A1 fick vi cellvärde som "Get …" och fortfarande kör markören på vänta.

Steg 9: Och när klockan når klockan 12:25:00 timmar då kommer resten av cellvärdena i cell B1 och C1 igen att visas tydligen som visas nedan.

Exempel 2 - VBA-paus

Det finns ett annat sätt på vilket vi kan pausa koden utan att lägga till eller ändra tiden i programmet Vänta flera gånger. För detta hänvisar vi till samma kod som vi har sett i exempel-1.

Steg 1: Nu i fäste av programmet Vänta skriv nu () med TimeValue som vi vill ge. Låt oss överväga pausen på 30 sekunder.

Koda:

 Sub VBAPause2 () Range ("A1"). Value = "Get …" Range ("B1"). Value = "Set …" Application.Wait (Now () + TimeValue ("00:00:30") ) Område ("C1"). Värde = "Gå .. !!!" Avsluta under 

Steg 2: Så när vi kör koden kommer VBA att ta hänsyn till aktuell tid och lägger till 30 sek paus. Och det kommer att fungera på samma sätt som det fungerade i exempel 1. Kör koden för kontroll.

Först får vi det första cellvärdet vid A1.

Och efter 30 sekunders paus kommer det att ge resten av värdena i cell B1 och C1.

Exempel 3 - VBA-paus

I det här exemplet kommer vi att se hur VBA Pause fungerar med Sleep- applikationen. Nedan är syntaxen för Sleep-applikation som tillåter ByVal dwMilliseconds endast som LongPtr .

Nu är detta värde faktiskt i VBA. Vi måste ange förbyggd kod som är tillgänglig i MS Docs som visas nedan.

Steg 1: Skriv nu underkategorin för VBA-paus som visas nedan.

Koda:

 Sub VBAPause3 () Slut Sub 

Steg 2: För detta måste vi definiera två variabler för start- och sovtid som sträng som visas nedan.

Koda:

 Sub VBAPause3 () Dim Starta Som Sträng Dim Sovande Som Sträng Slut Sub 

Steg 3: Tilldela tidsfunktionen till den första variabeln som är Start .

Koda:

 Sub VBAPause3 () Dim Starta Som Sträng Dim Sovande Som Sträng Start = Time End Sub 

Steg 4: Och använd Msgbox för att se värdet lagrat i Start-variabeln.

Koda:

 Sub VBAPause3 () Dim Starta Som Sträng Dim Sovande Som Sträng Start = Tid MsgBox Start End Sub 

Steg 5: Använd nu Sleep-applikationen och tilldel antalet millisekunder tills vi vill sova funktionerna.

Koda:

 Sub VBAPause3 () Dim Starta Som Sträng Dim Sovande Som Sträng Start = Tid MsgBox Start Sovande = Time End Sub 

Steg 6: Nu på ett liknande sätt, ge Time-applikation till den andra variabeln Sovande . Och använd MsgBox för att se värdet lagrat i sovvariabeln som visas nedan.

Koda:

 Sub VBAPause3 () Dim Starta Som Sträng Dim Sovande Som Sträng Start = Tid MsgBox Start Sovande = Tid MsgBox Sovande slut Sub 

Slutligen, kompilera koden och kör koden genom att klicka på knappen Spela under menyfältet som visas nedan. Vi får meddelanderutan med tiden som kommer att vara vår starttid .

När vi klickar på Ok, efter 5000 millisekunder, kommer vi att se en annan meddelanderuta med sovtid som visas nedan.

Sovtiden börjar strax efter att vi klickar på OK-knappen. Det är inte tidsskillnaden mellan start- och sovtid. Det är faktiskt tiden efter att vi klickar på OK-knappen i en första meddelanderuta.

Fördelar med VBA-paus

  • Det är mycket användbart när vi har flera funktioner som ska utföras med ett visst tidsintervall.
  • Detta kan användas i syfte att analysera och beräkna.

Saker att komma ihåg

  • Process som VBA Pause kan inte utföras genom att spela in makro.
  • Det är alltid bättre att använda processen som visas i exempel-2 för Wait-applikation där vi kommer att vara säkra från att ändra tiden igen och igen istället för att bara hålla pausen på några sekunder efter den aktuella tiden.
  • Sovapplikation från exempel 3 tillåter bara Millisekunder
  • Förbyggnadskoden som visas i början av exempel-3 är en viktig del att tillämpa eftersom den kommer att tillfredsställa sömnapplikationens syntax.

Rekommenderade artiklar

Detta är en guide till VBA-paus. Här diskuterar vi hur vi kan pausa koden när som helst med hjälp av Wait and Sleep Application. Du kan också gå igenom våra andra föreslagna artiklar -

  1. Hur använder man VBA IsNumeric-funktion?
  2. Skapa Combo Box i Excel
  3. Sätt i CheckBox i Excel
  4. VBA UCASE-funktion i Excel

Kategori: