Taukokoodi VBA: ssa

Mietitkö jopa, kuinka hienoa olisi, jos voisimme ajaa koodin aikaamme mukaisesti, koska siihen mennessä onnistumme suorittamaan toisen työn ja valmistamaan tiedot valmiiksi jatkotyöhön. Tämä on tarve minkä tahansa tyyppisille tehtäville, joissa meidän on suoritettava yksi koodisarja ja työskenneltävä muilla asioilla koodin vaatimuksen mukaisesti, ja kunnes koodin toinen osa on suoritettu, olisimme valmiit tietojen kanssa, jotka meidän on käsiteltävä sama koodi. Tämä voidaan tehdä VBA: n Sleep and Wait -sovelluksella. Sleep and Wait -kohdassa voimme keskeyttää koodin milloin tahansa. Aika voi olla sekunteina tai kellonaikaa kohti.

VBA-tauon syntaksi Excelissä

VBA-tauon syntaksi on seuraava:

Esimerkkejä VBA-koodin keskeyttämiseen Excelissä

Alla on erilaisia ​​esimerkkejä VBA-koodin keskeyttämisestä Excelissä.

Voit ladata tämän VBA Pause Excel -mallin täältä - VBA Pause Excel Template

Esimerkki 1 - VBA-tauko

Tässä esimerkissä näemme kuinka VBA Wait toimii. Kuten voimme nähdä, Odota- sovellus sallii ajan Boolen arvoksi. Mikä tarkoittaa, että jos syöttämämme arvo on oikea, niin saamme sen totuudeksi FALSE.

Jos haluat nähdä kuinka VBA-tauko toimii VBA-sovelluksen kanssa,

Vaihe 1: Ensinnäkin tarvitsemme moduulin, johon kirjoitamme koodin tälle. Joten siirry Lisää- valikkoon ja valitse avattavasta vaihtoehdosta moduuli alla olevan kuvan mukaisesti.

Vaihe 2: Kirjoita nyt alaluokka VBA Pause -nimeen tai mihin tahansa muuhun nimeen valintasi mukaan alla olevan kuvan mukaisesti.

Koodi:

 Sub VBAPause1 () End Sub 

VBA-tauolle tarvitsemme joitain tekstisarjoja, jotka haluaisimme tulostaa tauolla. Oletetaan, että teksti on ” Hanki… Aseta… Mene…! ”. Joten valitsemme 3 erilaista solua, joissa pidämme nämä tekstisanat erikseen jokaisessa solussa.

Vaihe 3: Valitse ensimmäinen solualue A1: ksi tai mikä tahansa muu solu valintasi mukaan, ja antaa sille arvo, valitse Arvo- toiminto ja anna sille arvo, kuten olemme vahvistaneet yllä. Tai valitse mikä tahansa arvo valintaa kohti.

Koodi:

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

Vaihe 4: Määritä loput arvot samalla tavalla kuin teimme ensimmäiselle arvolle. Tässä valitaan solumme A1: stä C1: een valikoimamme.

Koodi:

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

Vaihe 5: Joka tapauksessa, jos suoritamme täydellisen koodin, saisimme kaikki arvot Get. Set … Go .. !!! yhdellä kertaa solusta A1 C1: een, kuten alla on esitetty.

Vaihe 6: Jos haluamme saada tauon koko tauon väliin, meidän on käytettävä sovellusta Odota alla esitetyllä tavalla. Käytämme tätä sovellusta juuri viimeisen alueen yläpuolella.

Koodi:

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

Vaihe 7: Odota-sovelluksen hakasulkeessa voimme kirjoittaa ajan 24HRs-muodossa tai AM / PM-muodossa. Harkitsemme 24HR: n muotoa. Kirjoita nyt aika HH: MM: SS-muodossa, kun haluamme suorittaa loput koodista tauon jälkeen.

Koodi:

 Sub VBAPause1 () Range ("A1"). Value = "Get …" Range ("B1"). Value = "Set …" Application.Wait ("12: 26: 00") Range ("C1") .Value = "Mene .. !!!" End Sub 

Vaihe 8: Käännä nyt koodi ja suorita se uudelleen. Nähdään, että solussa A1 saimme solun arvon “Get…” ja kohdistin on edelleen käynnissä.

Vaihe 9: Ja kun kello saavuttaa kello 12:25:00, silloin solun loput arvot soluissa B1 ja C1 ilmestyvät jälleen ilmeisesti alla esitetyllä tavalla.

Esimerkki 2 - VBA-tauko

On myös toinen tapa, jolla voidaan keskeyttää koodi lisäämättä tai muuttamatta aikaa Odota-sovelluksessa useita kertoja. Tätä varten viittaamme samaan koodiin, jonka olemme nähneet esimerkissä-1.

Vaihe 1: Kirjoita nyt Odota-sovelluksen hakasulkeeseen Nyt () TimeValue-arvolla, jonka haluamme antaa. Tarkastellaan 30 sekunnin taukoa.

Koodi:

 Sub VBAPause2 () Range ("A1"). Value = "Get …" Range ("B1"). Value = "Set …" Application.Wait (Now () + TimeValue ("00:00:30")) ) Alue ("C1"). Arvo = "Mene .. !!!" End Sub 

Vaihe 2: Joten kun suoritamme koodia, VBA ottaa huomioon nykyisen ajan ja lisää 30 sekunnin tauon. Ja se toimii samalla tavalla kuin se toimi esimerkissä-1. Suorita koodi tarkistamista varten.

Ensin saamme ensimmäisen solun arvon kohdassa A1.

Ja 30 sekunnin tauon jälkeen se antaa loput arvot soluissa B1 ja C1.

Esimerkki 3 - VBA-tauko

Tässä esimerkissä näemme kuinka VBA Pause toimii Sleep- sovelluksen kanssa. Alla on Sleep-sovelluksen syntaksi, joka sallii ByVal dwMilliseconds vain LongPtr-muodossa .

Nyt tämä arvo on tosiasiallisesti VBA: ssa. Meidän on annettava valmiiksi rakennettu koodi, joka on saatavana MS-dokumenteissa, kuten alla on esitetty.

Vaihe 1: Kirjoita nyt alaluokka VBA-taukolle alla olevan kuvan mukaisesti.

Koodi:

 Sub VBAPause3 () End Sub 

Vaihe 2: Tätä varten meidän on määriteltävä 2 muuttujaa aloitus- ja nukkumisajalle merkkijonona alla esitetyllä tavalla.

Koodi:

 Sub VBAPause3 () Dim alkaa merkkijonona Dim nukkuu merkkijonona loppu Sub 

Vaihe 3: Määritä aikatoiminto ensimmäiselle käynnistyvälle muuttujalle.

Koodi:

 Sub VBAPause3 () Dim Starting String Dim Nukkuminen String Starting = Aika Loppu Sub 

Vaihe 4: Käytä Msgboxia nähdäksesi arvon, joka on tallennettu aloitusmuuttujaan .

Koodi:

 Sub VBAPause3 () Dim alkaa merkkijonona Dim nukkuu merkkijonona Starting = Aika MsgBox Starting End Sub 

Vaihe 5: Käytä nyt Sleep-sovellusta ja jaa millisekuntien määrä, kunnes haluamme nukkua toiminnot.

Koodi:

 Sub VBAPause3 () Dim käynnistyy merkkijonona Dim nukkuu merkkijonona Käynnistys = Aika MsgBox Starting Sleep = Aika Loppu Sub 

Vaihe 6: Anna samalla tavalla samalla tavalla Time-sovellus toiselle muuttujalle Sleeping . Ja katso MsgBox nähdäksesi Sleeping- muuttujaan tallennetun arvon alla esitetyllä tavalla.

Koodi:

 Sub VBAPause3 () Dim Käynnistyy merkkijonona Dim Nukkuu merkkijonona Käynnistys = Aika MsgBox Nukkumisen alkaminen = Aika MsgBox Sleeping End Sub 

Viimeinkin koota koodi ja suorita koodi napsauttamalla valikkopalkin alla olevaa Toista-painiketta alla olevan kuvan mukaisesti. Me saamme viestiruudun ajan, joka on meidän aloitusaika .

Kun napsautamme Ok, 5000 millisekunnin kuluttua, näemme toisen viestiruudun, jossa on nukkumisaika, kuten alla on esitetty.

Nukkumisaika alkaa heti, kun napsautamme Ok-painiketta. Aikaero ei ole aloitus- ja nukkumisajan välillä. Itse asiassa on aika, kun napsautamme ensimmäisen viestiruudun Ok-painiketta.

Plussat VBA-tauosta

  • Se on erittäin hyödyllistä, kun meillä on useita toimintoja suoritettaviksi tietyllä aikavälillä.
  • Tätä voidaan käyttää analyysissä ja laskennassa.

Muistettavat asiat

  • VBA-tauon kaltaista prosessia ei voida suorittaa tallentamalla makro.
  • Aina on parempi käyttää esimerkissä-2 esitettyä prosessia Wait-sovellukseen, jossa olemme turvassa muuttamaan aikaa uudelleen ja uudestaan ​​sen sijaan, että pidämme vain muutaman sekunnin tauon nykyisen ajan jälkeen.
  • Esimerkin 3 lepotilasovellus sallii vain millisekunnit
  • Esimerkin 3 alussa näkyvä esivalmistekoodi on tärkeä osa sovellettavaa, koska se tyydyttää Sleep-sovelluksen syntaksin.

Suositellut artikkelit

Tämä on VBA-tauon opas. Tässä keskustellaan siitä, kuinka voimme keskeyttää koodin milloin tahansa käyttämällä Wait and Sleep -sovellusta. Voit myös käydä läpi muiden ehdottamiemme artikkeleidemme -

  1. Kuinka käyttää VBA IsNumeric -toimintoa?
  2. Yhdistelmäruudun luominen Excelissä
  3. Lisää valintaruutu Exceliin
  4. VBA UCASE -toiminto Excelissä

Luokka: