VBA DoEvents | Hogyan és mikor kell használni a DoEvents funkciót?

Excel VBA DoEvents függvény

A VBA DoEvents segítségével a kódot a háttérben futtathatjuk, és ezzel egyidejűleg lehetővé tesszük az excel és más alkalmazásszoftverekkel való együttműködést is. A DoEvents nem csak lehetővé teszi számunkra, hogy más szoftverekkel dolgozzunk, hanem a kód futtatását is megszakíthatjuk.

A DoEvents funkció átadja a vezérlést annak a számítógépnek az operációs rendszeréhez, amelyen dolgozunk.

Hogyan kell használni a DoEvents funkciót?

Nagy mennyiségű VBA kódra van szükség, ha a követelmény hatalmas. Ezekben az esetekben az Excel egy ideig lóg és leáll, sőt néha nem reagál.

Ezt a VBA DoEvents Excel sablont innen töltheti le - VBA DoEvents Excel sablont

Például nézze meg az alábbi kódot.

Kód:

 Sub DoEvents_Example1 () Dim i Long For i = 1 - 100000 tartomány ("A1"). Érték = i Next i End Sub 

A fenti kód 1 és 100000 közötti sorszámokat fog beilleszteni. A feladat végrehajtása könnyen több mint egy percet vesz igénybe. A végrehajtás során az Excel jelentős ideig lóg a feladat elvégzéséhez. Ezalatt az Excel az üzenetet „Excel nem válaszol” néven mutatja.

Sőt, nem férünk hozzá a munkalaphoz, amelyen dolgozunk. Ez frusztráló dolog, akkor hogyan tegyük elérhetővé az excel munkalapot, amíg a kód fut a képernyő mögött.

Ez egy VBA DoEvents függvény hozzáadásával érhető el .

Kód:

 Sub DoEvents_Example1 () Dim i Long For i = 1 - 100000 Range ("A1"). Érték = i DoEvents Next i End Sub 

Abban a pillanatban, hogy hozzáadjuk a DoEvents függvényt a kódba, elérhetjük az Excel munkalapot.

Fentről láthatjuk, hogy a kód fut, de hozzáférhetünk a munkalaphoz.

A kódfuttatás megszakítása

Amikor a kód a képernyő mögött fut, felvehetünk sorokat, oszlopokat és törölhetjük őket, átnevezhetjük a lapot, és sok más dolgot is megtehetünk. Abban a pillanatban, hogy hozzáadjuk a DoEvents programot, gyors futásra készteti az vba kódot, és lehetővé teszi számunkra, hogy eldöntsük, hogy az említett feladat önmagában fut.

  • A DoEvents funkció egyik veszélye, amikor munkalapokat vagy munkafüzeteket váltunk, az felülírja az aktív munkalap értékeket.
  • Egy másik veszély az, hogy ha a cellába bármilyen értéket beírunk, a kód végrehajtása leáll, és nem is értesít minket.
Megjegyzés : A DoEvents fenti veszélyei ellenére ez még mindig hasznos funkció. Használhatjuk a DoEvents programot a hibakeresési folyamat részeként, amikor megpróbáljuk kijavítani az általunk írt kód hibáit.