Excel VBA DoEvents -toiminto

Kun kirjoitamme valtavia koodeja, joudumme aina VBA: n ansaan. Kun koodi on iso, VBA vie oman aikansa suorittamisen ja suorittamisen loppuun. Mikä voi viedä aikaa minuutista minuuttiin. Tämä on aikataulu, jolloin kaikki ovat ärtyneitä. Ja emme voi tehdä mitään muuta tällä ajanjaksolla. Mutta tämän välttämiseksi VBA: lla on DoEvents-toiminto. DoEventsin avulla voimme ajaa koodin taustalla ja samanaikaisesti tehdä myös muunlaisia ​​asioita. Emme voi työskennellä vain muiden työkalujen tai ohjelmistojen kanssa, mutta voimme myös keskeyttää koodin tai pysähtyä suorittamisen välillä.

Kun kirjoitamme DoEvents-koodiin, niin VBA: n lisäksi, hallitsemme myös haluamamme työn. Hyvä asia DoEventsissä on, että sillä ei ole minkäänlaista syntaksia kirjoittamiseen. Voimme sijoittaa Doeventsin suoraan mihin haluamme hallita VBA: n ja suorittaa tehtävät tarpeen mukaan.

Kuinka käyttää DoEvents-toimintoa Excel VBA: ssa?

Alla on erilaisia ​​esimerkkejä DoEvents-toiminnon käyttämisestä Excelissä VBA-koodilla.

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

Excel VBA DoEvents - esimerkki # 1

Vaikka DoEvents-ohjelmien suorittamiseen tarvitaan valtava joukko tietoja, joista voimme nähdä, kuinka koodi keskeytyy. Joten käytämme silmukkaa, jossa numeroita käytetään, kunnes koodi on valmis. Tätä varten noudata seuraavia vaiheita:

Vaihe 1: Avaa moduuli VBA: ssa Lisää valikko -välilehdeltä alla olevan kuvan mukaisesti.

Vaihe 2: Kirjoita VBA DoEvents -prosessin osa tai voimme valita minkä tahansa nimen määritelläksesi koodin tarpeen mukaan.

Koodi:

 Sub VBA_DoEvents () End Sub 

Vaihe 3: Määritä nyt muuttuja mihin tahansa nimeseen, kun tietotyypit ovat pitkät. Tarkoituksena on pitää tietotyyppiä pitkänä, koska otamme kaiken haluamamme tietomäärän, mikä ei ole mahdollista, jos otetaan huomioon kokonaisluku.

Koodi:

 Sub VBA_DoEvents () himmentää niin pitkään Sub 

Vaihe 4: Avaa nyt For-Next-silmukka, johon asetamme ehdot.

Koodi:

 Sub VBA_DoEvents () himmentää niin kauan seuraavana lopuna olevana sub 

Vaihe 5: Mieti valitsemasi joukon aluetta, joka voidaan nähdä toteutettavana. Otetaan tässä alue 1 - 2000 määritellyssä muuttujassa A.

Koodi:

 Sub VBA_DoEvents () himmentää A niin kauan kuin A = 1 - 20000 Seuraava A loppu Sub 

Vaihe 6: Kun olemme määritelleet lukualueen, valitsemme solualueen, jossa näemme muutokset numeroissa, jotka valitsimme yllä. Oletetaan, että solualue on A1 - A5. Tämä voi olla myös yksi solu.

Koodi:

 Sub VBA_DoEvents () himmentää A niin kauan, kun A = 1 - 20000 ("A1: A5"). Arvo = Seuraava A Loppu Sub 

Vaihe 7: Suorita nyt koodi napsauttamalla valikkopalkin alla olevaa Toista-painiketta.

Näemme, että koodi on saatu päätökseen tulostamalla numerot 1 - 20000, mutta emme pystyneet pysäyttämään sitä.

Vaihe 8: Saadaksesi täyden hallinnan koodiin, käytä DoEvents-ohjelmaa silmukan olosuhteiden jälkeen, kuten alla on esitetty.

Koodi:

 Sub VBA_DoEvents () himmentää A niin kauan, kun A = 1 - 20000 ("A1: A5"). Value = A DoEvents Next A End Sub 

Vaihe 9: Suorita nyt koodi uudelleen. Ja tällä hetkellä yritämme pysäyttää koodin napsauttamalla pysäytyspainiketta, huomaa, että koodi pysähtyy prosessien välillä ennen 20000: n kokeilun suorittamista.

Excel VBA DoEvents - esimerkki 2

DoEvents-ohjelmien toteuttamiseen on olemassa toisen tyyppinen prosessi. Mutta myös tähän tarvitsemme valtavan koodin, kuten esimerkissä-1 nähdään. Tätä varten noudata seuraavia vaiheita:

Vaihe 1: Kirjoita VBA DoEvents -prosessin osa alla esitetyllä tavalla.

Koodi:

 Sub VBA_DoEvents2 () Loppu Sub 

Vaihe 2: Avaa suoraan Seuraava-silmukka määrittelemättä muuttujaa.

Koodi:

 Sub VBA_DoEvents2 () seuraavan lopun alaosaan 

Vaihe 3: Valitse numeroalue, jonka näemme käynnissä. Olkoon alueen välillä 1 - 20000 sama kuin esimerkissä-1.

Koodi:

 Sub VBA_DoEvents2 () A = 1 - 20000 Next End Sub 

Vaihe 4: Laita nyt kaikki työt tulostettavaksi, sanotaan, että lähtö on alla olevan kuvan mukainen. Ja arvoalue on +1 todellisesta arvosta.

Koodi:

 Sub VBA_DoEvents2 () A = 1 - 20000 Output = Output + 1 Next End Sub 

Vaihe 5: Valitse nyt alue, jolla haluamme nähdä tulosteen. Olkoon solu A1.

Koodi:

 Sub VBA_DoEvents2 () A = 1 - 20000 Lähtö = Lähtö + 1 Alue ("A1") Arvo = Lähtö Seuraava Loppu Sub 

Vaihe 6: Ja viimeinkin laitamme DoEvents For-silmukan tilan loppuun.

Koodi:

 Sub VBA_DoEvents2 () A = 1 - 20000 Lähtö = Lähtö + 1 Alue ("A1") Arvo = Lähtö DoEvents Seuraava loppu Sub 

Vaihe 7: Ja suorita sitten koodi painamalla F5-näppäintä. Näemme, että voimme tehdä mitä tahansa myös koodin ollessa käynnissä. Esittelyä varten olen valinnut solut B1 ja C1. Vain numerossa 4348 saavutetut luvut ovat melko pienempiä kuin asettamamme raja.

Vaihe 8: Jos poistamme DoEventsin ja suoritamme koodin, emme voi tehdä mitään, ennen kuin koodi saa päätökseen prosessin. Katsotaanpa myös.

Koodi:

 Sub VBA_DoEvents2 () A = 1 - 20000 Lähtö = Lähtö + 1 Alue ("A1") Arvo = Lähtö Seuraava Loppu Sub 

Vaihe 9: Suorita nyt koodi uudelleen. Kuten voimme nähdä, yrittäessämme napsauttaa Stop-painiketta, koodi ei pysähtynyt. Ja Play-ominaisuus oli edelleen päällä.

Plussaa ja miinusta Excel VBA DoEvents -ohjelmassa

  • Voimme työskennellä minkä tahansa taustalla olevan työkalun tai tiedoston kanssa, kun taas VBA-koodi toimii samanaikaisesti.
  • DoEvents-ohjelman käyttö ei estä meitä tekemästä haluamaamme työtä, kun koodi on käynnissä.
  • Se korvaa laskentataulukon tai työkirjan, kun siirrymme eri taulukkojen tai työkirjan välillä.
  • Koodi pysähtyy, kun kirjoitamme tai vaihdamme solua hetkeksi, emmekä saa ilmoitusta.

Muistettavat asiat

  • Jos teemme jotain ilman DoEvents-sovellusta, on olemassa suuri mahdollisuus, että koodi tekee järjestelmästä ja tiedostosta jäädytetyn. Ja että jatkamme tiedostojen jatkamista, kun koodi on täysin suoritettu, tai kaatamme tiedoston usealla napsautuksella.
  • Voimme nähdä muutoksen prosessissa työskenteleessäsi samanaikaisesti toisen työn kanssa.
  • Kun koodi on valmis, tallenna tiedosto makroyhteydessä olevaan Excel-muotoon, jotta koodi ei häviä.
  • Kokeile soveltaa koodia valtavassa ja isossa koodausjoukossa, siellä näemme todellisen toteutuksen ja käytön.

Suositellut artikkelit

Tämä on VBA DoEvents -oppaan opas. Tässä keskustellaan siitä, kuinka DoEvents-toimintoa voidaan käyttää Excelissä käyttämällä VBA-koodia, sekä käytännön esimerkkejä ja ladattavaa Excel-mallia. Voit myös käydä läpi muiden ehdottamiemme artikkeleidemme -

  1. Kuinka käyttää StrConvia Excel VBA: ssa?
  2. Muunna numerot tekstiksi Excelissä (esimerkit)
  3. VBA ByRef -toiminto (esimerkkejä Excel-mallilla)
  4. Excel SUMIFS päivämäärillä | Excel-malli

Luokka: