Pauzeer code in VBA

Vraag me zelfs af hoe het geweldig zou zijn als we de code volgens onze tijd zouden kunnen uitvoeren, omdat we tot die tijd erin zouden slagen om het andere werk te voltooien en die gegevens klaar te maken voor verder werk. Dit is de noodzaak voor alle soorten taken waarbij we één set code moeten uitvoeren en aan andere dingen moeten werken volgens de codevereiste en totdat het andere deel van de code wordt uitgevoerd, zouden we klaar zijn met de gegevens die we moeten verwerken met de dezelfde code. Dit kan worden gedaan met de Sleep and Wait-toepassing van VBA. Met Sleep and Wait kunnen we de code op elk gewenst moment onderbreken. De tijd kan in seconden zijn of de tijd per klok.

Syntaxis van VBA Pause in Excel

De syntaxis voor VBA Pause is als volgt:

Voorbeelden om de VBA-code in Excel te pauzeren

Hieronder staan ​​de verschillende voorbeelden om VBA-code in Excel te pauzeren.

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

Voorbeeld # 1 - VBA-pauze

In dit voorbeeld zullen we zien hoe VBA Wait werkt. Zoals we kunnen zien, staat de toepassing Tijd toe als Boolean. Wat betekent dat als de waarde die we invoeren correct is, we deze als WAAR anders ONWAAR zouden krijgen.

Om te zien hoe VBA Pause werkt met de toepassing Wait in VBA,

Stap 1: Allereerst hebben we een module nodig waarin we de code hiervoor schrijven. Ga dus naar het menu Invoegen en selecteer Module uit de vervolgkeuzelijst zoals hieronder weergegeven.

Stap 2: Schrijf nu de subcategorie in de naam van VBA Pause of in een andere naam volgens uw keuze, zoals hieronder weergegeven.

Code:

 Sub VBAPause1 () Einde Sub 

Voor de VBA-pauze hebben we een set tekst nodig die we met een pauze willen afdrukken. Laten we die tekst beschouwen als " Get … Set … Go … !! ”. We zullen dus 3 verschillende cellen selecteren waar we deze tekstwoorden afzonderlijk in elke cel bewaren.

Stap 3: Selecteer het eerste celbereik als A1 of een andere cel volgens keuze, en om het de waarde te geven, selecteert u de functie Waarde en geeft u deze een waarde zoals hierboven is vastgelegd. Of kies een waarde volgens keuze.

Code:

 Sub VBAPause1 () Bereik ("A1"). Waarde = "Get …" Einde Sub 

Stap 4: Wijs de rest van de waarden op dezelfde manier toe als voor de eerste waarde. Hier kiezen we cellen van A1 tot C1 als ons assortiment.

Code:

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

Stap 5: Als we de volledige code uitvoeren, krijgen we alle waarden Get. Stel … Go .. !!! in één keer van cel A1 naar C1 zoals hieronder weergegeven.

Stap 6: Als we nu een pauze willen krijgen tussen de hele pauze in, moeten we de toepassing Wacht gebruiken zoals hieronder wordt weergegeven. We zullen deze applicatie net boven het laatste bereik gebruiken.

Code:

 Sub VBAPause1 () Bereik ("A1"). Value = "Get …" Bereik ("B1"). Value = "Set …" Application.Wait (bereik ("C1"). Value = "Go ..! !! "Einde Sub 

Stap 7: In de bracket van de toepassing Wait kunnen we tijd schrijven in 24-uursindeling of in AM / PM-indeling. We overwegen het formaat van 24HR. Schrijf nu de tijd in HH: MM: SS-formaat wanneer we de rest van de code na een pauze willen uitvoeren.

Code:

 Sub VBAPause1 () Bereik ("A1"). Value = "Get …" Bereik ("B1"). Value = "Set …" Application.Wait ("12: 26: 00") Bereik ("C1") .Value = "Ga .. !!!" Einde Sub 

Stap 8: compileer nu de code en voer deze opnieuw uit. We zullen zien dat we in cel A1 de celwaarde "Get …" hebben en de cursor blijft wachten.

Stap 9: En zodra de klok om 12:25:00 uur bereikt, verschijnen de rest van de celwaarden in cel B1 en C1 opnieuw blijkbaar zoals hieronder wordt weergegeven.

Voorbeeld # 2 - VBA-pauze

Er is een andere manier waarop we de code kunnen pauzeren zonder de tijd in de toepassing Wacht meerdere keren toe te voegen of te wijzigen. Hiervoor verwijzen we naar dezelfde code die we in voorbeeld-1 hebben gezien.

Stap 1: Nu in de bracket van de Wait-toepassing, schrijf Now () met TimeValue die we willen geven. Laten we de pauze van 30 seconden overwegen.

Code:

 Sub VBAPause2 () Bereik ("A1"). Value = "Get …" Bereik ("B1"). Value = "Set …" Application.Wait (Now () + TimeValue ("00:00:30") ) Bereik ("C1"). Waarde = "Ga .. !!!" Einde Sub 

Stap 2: Dus wanneer we de code uitvoeren, zal VBA de huidige tijd overwegen en een pauze van 30 seconden toevoegen. En het zal op dezelfde manier werken als in voorbeeld-1. Voer ter controle de code uit.

Eerst krijgen we de eerste celwaarde op A1.

En na 30 seconden pauze geeft het de rest van de waarden in cel B1 en C1.

Voorbeeld # 3 - VBA-pauze

In dit voorbeeld zullen we zien hoe VBA Pause werkt met de Sleep- toepassing. Hieronder staat de syntaxis van de Sleep-toepassing die ByVal dwMilliseconds alleen als LongPtr toestaat .

Nu is deze waarde eigenlijk in VBA. We moeten vooraf gebouwde code invoeren die beschikbaar is in MS Docs zoals hieronder getoond.

Stap 1: Schrijf nu de subcategorie voor VBA Pause zoals hieronder getoond.

Code:

 Sub VBAPause3 () Einde Sub 

Stap 2: Hiervoor zouden we 2 variabelen voor Start- en Slaaptijd als String moeten definiëren, zoals hieronder getoond.

Code:

 Sub VBAPause3 () Dim beginnend als String Dim Slapend als String End Sub 

Stap 3: Wijs de tijdfunctie toe aan de eerste variabele die begint .

Code:

 Sub VBAPause3 () Dim starten als string Dim slapen als string starten = Time End Sub 

Stap 4: En gebruik Msgbox om de waarde te zien die is opgeslagen in de startvariabele.

Code:

 Sub VBAPause3 () Dim starten als string Dim slapen als string starten = Tijd MsgBox Start End Sub 

Stap 5: Gebruik nu de Sleep-applicatie en wijs het aantal milliseconden toe totdat we de functies willen slapen.

Code:

 Sub VBAPause3 () Dim Beginnen als String Dim Slapen als String Beginnen = Tijd MsgBox Beginnen Slapen = Tijd Einde Sub 

Stap 6: Geef op een vergelijkbare manier de Time-toepassing aan de tweede variabele Sleeping . En gebruik MsgBox om de waarde te zien die is opgeslagen in de variabele Sleeping zoals hieronder wordt weergegeven.

Code:

 Sub VBAPause3 () Dim Beginnen als String Dim Slapen als String Beginnen = Tijd MsgBox Beginnen Slapen = Tijd MsgBox Slapen Einde Sub 

Compileer ten slotte de code en voer de code uit door te klikken op de knop Afspelen onder de menubalk, zoals hieronder wordt weergegeven. We krijgen het berichtvenster met de tijd die onze begintijd zal zijn.

Nadat we op Ok hebben geklikt, na 5000 milliseconden, zien we een ander berichtvenster met slaaptijd zoals hieronder weergegeven.

Het tijdstip van slapen begint zodra we op de OK-knop klikken. Het is niet het tijdsverschil tussen start- en slaaptijd. In feite is het de tijd nadat we op de Ok-knop van een eerste berichtenvak hebben geklikt.

Voordelen van VBA Pause

  • Het is erg handig als we meerdere functies moeten uitvoeren met een bepaald tijdsinterval.
  • Dit kan worden gebruikt voor analyse- en berekeningsdoeleinden.

Dingen om te onthouden

  • Processen zoals VBA Pause kunnen niet worden uitgevoerd door de macro op te nemen.
  • Het is altijd beter om het proces te gebruiken dat wordt getoond in voorbeeld-2 voor de toepassing Wacht, waar we de tijd steeds opnieuw kunnen wijzigen in plaats van de pauze van enkele seconden na de huidige tijd te behouden.
  • Slaap-applicatie van voorbeeld-3 staat alleen milliseconden toe
  • De voorgebouwde code die wordt getoond aan het begin van voorbeeld-3 is een belangrijk onderdeel om toe te passen, omdat deze voldoet aan de syntaxis van de Sleep-toepassing.

Aanbevolen artikelen

Dit is een handleiding voor VBA Pause. Hier bespreken we hoe we de code op elk gewenst moment kunnen pauzeren met de wacht- en slaapapplicatie. U kunt ook onze andere voorgestelde artikelen doornemen -

  1. Hoe VBA IsNumeric Function te gebruiken?
  2. Combo Box maken in Excel
  3. Plaats CheckBox in Excel
  4. VBA UCASE-functie in Excel

Categorie: