Pausekode i VBA
Selv spekulerer på, hvordan det ville være dejligt, hvis vi kunne køre koden i henhold til vores tids tilladelse, fordi vi indtil det tidspunkt lykkedes at afslutte det andet arbejde og gøre disse data klar til yderligere job. Dette er behovet for enhver form for opgaver, hvor vi har brug for at køre et sæt kode og arbejde på andre ting som pr. Kodekrav, og indtil den anden del af koden kører, ville vi være klar med de data, vi har brug for at behandle med samme kode. Dette kan gøres med Sleep and Wait-anvendelse af VBA. Ved at sove og vente kan vi sætte koden på pause på ethvert givet tidspunkt. Tiden kan være i sekunder eller tid pr. Ur.
Syntaks for VBA-pause i Excel
Syntaks for VBA-pause er som følger:
Eksempler på Pause VBA-kode i Excel
Nedenfor er de forskellige eksempler på Pause VBA-kode i Excel.
Du kan downloade denne VBA Pause Excel-skabelon her - VBA Pause Excel-skabelonEksempel # 1 - VBA-pause
I dette eksempel vil vi se, hvordan VBA Wait fungerer. Som vi kan se Vent applikation giver Time som Boolean. Hvilket betyder, at hvis den værdi, vi fodrer, er korrekt, ville vi få den som SAND ellers FALSE.
For at se, hvordan VBA-pause fungerer med Vent-applikation i VBA,
Trin 1: Først har vi brug for et modul, hvor vi skriver koden til dette. Så gå til Indsæt menu og vælg Modul fra dropdown-indstillingen som vist nedenfor.
Trin 2: Skriv nu underkategorien i navnet på VBA Pause eller i et hvilket som helst andet navn som pr. Valg, som vist nedenfor.
Kode:
Sub VBAPause1 () End Sub
Til VBA-pausen har vi brug for et sæt tekst, som vi gerne vil udskrive med en pause. Lad os overveje at teksten er “ Get… Set… Go… !! ”. Så vi vælger 3 forskellige celler, hvor vi vil holde disse tekstord separat i hver celle.
Trin 3: Vælg det første celleområde som A1 eller en hvilken som helst anden celle pr. Valg, og for at give den værdien skal du vælge Værdi- funktion og give den en værdi, som vi har fastlagt ovenfor. Eller vælg en hvilken som helst værdi pr. Valg.
Kode:
Sub VBAPause1 () Område ("A1"). Værdi = "Hent …" Slut Sub
Trin 4: Tildel resten af værdierne på samme måde som vi gjorde for den første værdi. Her vælger vi celler fra A1 til C1 som vores interval.
Kode:
Sub VBAPause1 () Område ("A1"). Værdi = "Hent …" Område ("B1"). Værdi = "Sæt …" Område ("C1"). Værdi = "Gå .. !!!" Afslut under
Trin 5: Hvis vi kører den komplette kode, får vi alle værdier Get. Set … Go .. !!! på én gang fra celle A1 til C1 som vist nedenfor.
Trin 6: Nu, hvis vi ønsker at få en pause mellem hele pausen, bliver vi nødt til at bruge applikationen Vent som vist nedenfor. Vi bruger denne applikation lige over det sidste interval.
Kode:
Sub VBAPause1 () Område ("A1"). Værdi = "Hent …" Område ("B1"). Værdi = "Sæt …" Anvendelse. Vent (Område ("C1"). Værdi = "Gå ..! !! "End Sub
Trin 7: I beslaget for Vent-applikation kan vi skrive tid i 24HRs-format eller i AM / PM-format. Vi overvejer 24HRs format. Skriv nu klokkeslættet i HH: MM: SS-format, når vi vil køre resten af koden efter en pause.
Kode:
Sub VBAPause1 () Område ("A1"). Værdi = "Hent …" Område ("B1"). Værdi = "Sæt …" Anvendelse. Vent ("12: 26: 00") Område ("C1") .Value = "Gå .. !!!" Afslut under
Trin 8: Kompilér nu koden og kør den igen. Vi vil se, ved celle A1 fik vi celleværdi som “Get…”, og stadig kører markøren på vent.
Trin 9: Og når uret når kl. 12:25:00 timer, vises resten af celleværdierne ved celle B1 og C1 igen tilsyneladende som vist nedenfor.
Eksempel 2 - VBA-pause
Der er en anden måde, hvorpå vi kan sætte koden på pause uden at tilføje eller ændre tiden i Vent applikation flere gange. For dette henviser vi til den samme kode, som vi har set i eksempel-1.
Trin 1: Skriv nu () med TimeValue i beslaget til Vent-applikation, som vi vil give. Lad os overveje pausen på 30 sekunder.
Kode:
Sub VBAPause2 () Område ("A1"). Værdi = "Hent …" Område ("B1"). Værdi = "Sæt …" Anvendelse. Vent (nu () + TimeValue ("00:00:30") ) Område ("C1"). Værdi = "Gå .. !!!" Afslut under
Trin 2: Så når vi kører koden, vil VBA overveje det aktuelle tidspunkt og tilføje 30 sek pause. Og det fungerer på en lignende måde, som det virkede i eksempel-1. Til kontrol skal du køre koden.
Først får vi den første celleværdi ved A1.
Og efter 30 sekunders pause giver det resten af værdierne ved celle B1 og C1.
Eksempel 3 - VBA-pause
I dette eksempel vil vi se, hvordan VBA Pause fungerer med Sleep- applikationen. Nedenfor er syntaks for Sleep-applikation, der kun tillader ByVal dwMilliseconds som LongPtr .
Nu er denne værdi faktisk i VBA. Vi skal indtaste forudbygget kode, som er tilgængelig i MS Docs, som vist nedenfor.
Trin 1: Skriv nu underkategorien for VBA-pause som vist nedenfor.
Kode:
Sub VBAPause3 () End Sub
Trin 2: Til dette er vi nødt til at definere 2 variabler til start- og sovetid som streng som vist nedenfor.
Kode:
Sub VBAPause3 () Dim Begynd som streng Dim sover som streng End Sub
Trin 3: Tildel tidsfunktion til den første variabel, der starter .
Kode:
Sub VBAPause3 () Dim begynder som streng Dim sover som streng Start = Time End Sub
Trin 4: Og brug Msgbox til at se den værdi, der er gemt i startvariablen .
Kode:
Sub VBAPause3 () Dim begynder som streng Dim sover som streng start = Tid MsgBox startende slut Sub
Trin 5: Brug nu Sleep-applikation, og tildel antallet af millisekunder, indtil vi vil sove funktionerne.
Kode:
Sub VBAPause3 () Dim starter som streng Dim sover som streng start = Tid MsgBox starter sov = Time slut Sub
Trin 6: Giv Time-applikationen nu på en lignende måde den anden variabel Sleeping . Og brug MsgBox til at se den værdi, der er gemt i sovevariablen som vist nedenfor.
Kode:
Sub VBAPause3 () Dim starter som streng Dim sover som streng start = Tid MsgBox starter sov = Tid MsgBox sovende slut Sub
Til sidst skal du samle koden og køre koden ved at klikke på knappen Afspil under menulinjen som vist nedenfor. Vi får beskedboksen med den tid, der vil være vores starttid.
Når vi klikker på Ok, efter 5000 Millisekunder, vil vi se en anden meddelelsesboks med Sovetid som vist nedenfor.
Sovetidspunktet starter lige efter vi har klikket på OK-knappen. Det er ikke tidsforskellen mellem start- og sovetid. Det er faktisk tiden, efter at vi har klikket på OK-knappen i en første meddelelsesboks.
Fordele ved VBA-pause
- Det er meget nyttigt, når vi har flere funktioner, der skal udføres med et vist tidsinterval.
- Dette kan bruges til analyse og beregning.
Ting at huske
- Process som VBA Pause kan ikke udføres ved at optage makroen.
- Det er altid bedre at bruge processen, der er vist i eksempel-2 til Vent-applikation, hvor vi vil være sikre på at ændre tiden igen og igen i stedet for bare at holde pausen på nogle sekunder efter det aktuelle tidspunkt.
- Søvnapplikation fra eksempel 3 tillader kun Millisekunder
- Forbygningskoden, der vises ved starten af eksempel-3, er en vigtig del at anvende, da den vil tilfredsstille Sleep-applikationens syntaks.
Anbefalede artikler
Dette er en guide til VBA-pause. Her diskuterer vi, hvordan vi kan sætte koden på pause på et givet tidspunkt ved hjælp af Wait and Sleep Application. Du kan også gennemgå vores andre foreslåede artikler -
- Hvordan bruges VBA IsNumeric funktion?
- Oprettelse af kombinationsboks i Excel
- Indsæt CheckBox i Excel
- VBA UCASE-funktion i Excel