Pausekode i VBA

Selv lurer på, hvordan det ville være flott hvis vi kunne kjøre koden i henhold til vår tids tillatelse, fordi vi frem til den gang skulle klare å fullføre det andre arbeidet og gjøre disse dataene klare til videre jobb. Dette er behovet for alle slags oppgaver der vi trenger å kjøre ett sett med kode og jobbe med andre ting som per kodekrav, og til den andre delen av koden kjører, ville vi være klare med dataene vi trenger å behandle med samme kode. Dette kan gjøres med Sleep and Wait anvendelse av VBA. Ved å sove og vente, kan vi pause koden når som helst. Tiden kan være i sekunder eller tid som per klokke.

Syntaks for VBA-pause i Excel

Syntaksen for VBA Pause er som følger:

Eksempler på Pause VBA-kode i Excel

Nedenfor er de forskjellige eksemplene på Pause VBA-kode i Excel.

Du kan laste ned denne VBA Pause Excel-malen her - VBA Pause Excel-mal

Eksempel 1 - VBA-pause

I dette eksemplet vil vi se hvordan VBA Wait fungerer. Som vi kan se, lar Wait applikasjonen Time as Boolean. Noe som betyr at hvis verdien vi mater er riktig, ville vi ha den som SANN ellers FALSE.

For å se hvordan VBA Pause vil fungere med Wait-applikasjonen i VBA,

Trinn 1: Først trenger vi en modul der vi skriver koden for dette. Så gå til Sett inn- menyen og velg Modul fra nedtrekksalternativet som vist nedenfor.

Trinn 2: Skriv nå underkategorien i navnet på VBA Pause eller i et hvilket som helst annet navn etter ditt valg som vist nedenfor.

Kode:

 Sub VBAPause1 () Slutt Sub 

For VBA-pausen trenger vi et sett med tekst som vi ønsker å skrive ut med en pause. La oss vurdere at teksten er “ Få… Sett… Gå… !! ”. Så vi vil velge 3 forskjellige celler der vi vil holde disse tekstordene hver for seg.

Trinn 3: Velg det første celleområdet som A1 eller en hvilken som helst annen celle per valg, og for å gi den verdien, velg Verdifunksjon og gi den en verdi som vi fikset ovenfor. Eller velg hvilken som helst verdi per valg.

Kode:

 Sub VBAPause1 () Område ("A1"). Verdi = "Få …" Slutt Sub 

Trinn 4: Tildel resten av verdiene på samme måte som vi gjorde for den første verdien. Her velger vi celler fra A1 til C1 som vårt sortiment.

Kode:

 Sub VBAPause1 () Område ("A1"). Verdi = "Få …" Område ("B1"). Verdi = "Angi …" Område ("C1"). Verdi = "Gå .. !!!" Slutt sub 

Trinn 5: Hvis vi kjører den komplette koden, vil vi få alle verdiene Get. Sett … Go .. !!! på en gang fra celle A1 til C1 som vist nedenfor.

Trinn 6: Nå, hvis vi ønsker å få en pause mellom hele pausen, må vi bruke applikasjonen Vent som vist nedenfor. Vi bruker denne applikasjonen rett over det siste området.

Kode:

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

Trinn 7: I braketten til Wait-applikasjonen kan vi skrive tid i 24-timers format eller i AM / PM-format. Vi vurderer 24-timers format. Skriv nå klokka i HH: MM: SS-format når vi vil kjøre resten av koden etter en pause.

Kode:

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

Trinn 8: Sett sammen koden og kjør den igjen. Vi vil se, ved celle A1 fikk vi celleverdi som "Få …", og fremdeles kjører markøren på vent.

Trinn 9: Og når klokken når 12:25:00 timer da, vil resten av celleverdiene ved celle B1 og C1 igjen vises tilsynelatende som vist nedenfor.

Eksempel 2 - VBA-pause

Det er en annen måte vi kan pause koden på uten å legge til eller endre tiden i Vent applikasjon flere ganger. For dette vil vi henvise til den samme koden som vi har sett i eksempel-1.

Trinn 1: Nå i parentesen til Wait-applikasjonen skriver du nå () med TimeValue som vi vil gi. La oss ta en pause på 30 sekunder.

Kode:

 Sub VBAPause2 () Range ("A1"). Verdi = "Get …" Range ("B1"). Value = "Set …" Application.Wait (Now () + TimeValue ("00:00:30") ) Område ("C1"). Verdi = "Gå .. !!!" Slutt sub 

Trinn 2: Så når vi kjører koden, vil VBA vurdere gjeldende tid og legge til 30 sek pause. Og det vil fungere på samme måte som det fungerte i eksempel-1. Kjør koden for sjekk.

Først vil vi få den første celleverdien på A1.

Og etter 30 sekunders pause, vil det gi resten av verdiene ved celle B1 og C1.

Eksempel 3 - VBA-pause

I dette eksemplet vil vi se hvordan VBA Pause fungerer med Sleep- applikasjonen. Nedenfor er syntaks for Sleep-applikasjonen som bare tillater ByVal dwMilliseconds som LongPtr .

Nå er denne verdien faktisk i VBA. Vi må legge inn forhåndsbygd kode som er tilgjengelig i MS Docs som vist nedenfor.

Trinn 1: Skriv nå underkategorien for VBA Pause som vist nedenfor.

Kode:

 Sub VBAPause3 () Slutt Sub 

Trinn 2: For dette må vi definere 2 variabler for start- og sovetid som streng som vist nedenfor.

Kode:

 Sub VBAPause3 () Dim starter som streng Dim Sleeping As String End Sub 

Trinn 3: Tildel tidsfunksjon til den første variabelen som er Start .

Kode:

 Sub VBAPause3 () Dim starter som streng Dim sover som streng Start = Time End Sub 

Trinn 4: Og bruk Msgbox for å se verdien som er lagret i startvariabelen .

Kode:

 Sub VBAPause3 () Dim starter som streng Dim sover som streng start = Tid MsgBox Start Slutt Sub 

Trinn 5: Bruk nå Sleep-applikasjon og tildel antallet millisekunder til vi vil sove funksjonene.

Kode:

 Sub VBAPause3 () Dim starter som streng Dim sover som streng start = Tid MsgBox begynner å sove = Time End Sub 

Trinn 6: Nå på samme måte, gi Time-applikasjonen til den andre variabelen Sleeping . Og bruk MsgBox for å se verdien som er lagret i sovende- variabelen som vist nedenfor.

Kode:

 Sub VBAPause3 () Dim starter som streng Dim sover som streng start = Tid MsgBox begynner å sove = Tid MsgBox Sovende slutt Sub 

Til slutt kompilerer du koden og kjører koden ved å klikke på Spill-knappen under menylinjen som vist nedenfor. Vi vil få meldingsboksen med tiden som vil være vår starttid.

Når vi klikker på Ok, etter 5000 millisekunder, vil vi se en annen meldingsboks med Sovetid som vist nedenfor.

Sovetidspunktet starter like etter at vi klikker på OK-knappen. Det er ikke tidsforskjellen mellom start- og sovetid. Det er faktisk tiden etter at vi klikker på OK-knappen i en første meldingsboks.

Fordeler med VBA-pause

  • Det er veldig nyttig når vi har flere funksjoner som skal utføres med litt tidsintervall.
  • Dette kan brukes i analyse- og beregningsformål.

Ting å huske

  • Prosess som VBA Pause kan ikke gjøres ved å registrere makroen.
  • Det er alltid bedre å bruke prosessen vist i eksempel-2 for Vent-applikasjon der vi vil være trygge på å endre tiden igjen og igjen i stedet for bare å holde pausen på noen sekunder etter den aktuelle tiden.
  • Søvnapplikasjon fra eksempel 3 tillater bare Millisekunder
  • Forbygningskoden vist ved starten av eksempel-3 er en viktig del å bruke, da den vil tilfredsstille Sleep-applikasjonens syntaks.

Anbefalte artikler

Dette er en guide til VBA Pause. Her diskuterer vi hvordan vi kan pause koden til enhver tid ved å bruke Wait and Sleep Application. Du kan også gå gjennom andre foreslåtte artikler -

  1. Hvordan bruke VBA IsNumeric-funksjon?
  2. Opprette kombinasjonsboksen i Excel
  3. Sett inn CheckBox i Excel
  4. VBA UCASE-funksjon i Excel

Kategori: