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é tehetjük az excel és más alkalmazásszoftverekkel való munkát. 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 megáll, sőt néha nem reagál.

Nézze meg például 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. Ez idő alatt az Excel az „Excel nem válaszol” üzenetet jeleníti meg.

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 a képernyő mögött fut.

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 a DoEvents függvényt hozzáadjuk a kódhoz, elérhetjük az Excel munkalapot.

A fentiekbő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-t, gyors futásra készteti a VBA kódot, és lehetővé teszi számunkra, hogy eldöntsük, hogy az említett feladat önmagáért fut.

  • A DoEvents funkció egyik veszélye az, amikor munkalapokat vagy munkafüzeteket váltunk, és felülírja az aktív munkalap értékeket.
  • További veszély, ha bármilyen értéket beírunk a cellába, 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.

érdekes cikkek...