VBA DoEvents

Funzione Excel VBA DoEvents

Con l'aiuto di VBA DoEvents , possiamo far funzionare il codice in background e contemporaneamente ci permette di lavorare anche con excel e altri software applicativi. DoEvents non solo ci permette di lavorare con altri software, ma possiamo anche interrompere l'esecuzione del codice.

La funzione DoEvents passa il controllo al sistema operativo del computer su cui stiamo lavorando.

Come utilizzare la funzione DoEvents?

Quando il requisito è enorme, è necessaria una grande quantità di codice VBA. In questi casi, Excel si blocca e si ferma per un po 'di tempo e talvolta anche non risponde.

Puoi scaricare questo modello VBA DoEvents Excel qui - Modello VBA DoEvents Excel

Per un esempio, guarda il codice seguente.

Codice:

 Sub DoEvents_Example1 () Dim i As Long For i = 1 To 100000 Range ("A1"). Value = i Next i End Sub 

Il codice sopra inserirà i numeri di serie da 1 a 100000. Ci vorrà facilmente più di un minuto per eseguire l'attività. Durante l'esecuzione, Excel si blocca per una notevole quantità di tempo per completare l'attività. Durante questo periodo, Excel mostra il messaggio come "Excel non risponde".

Inoltre, non possiamo accedere al foglio di lavoro su cui stiamo lavorando. Questa è una cosa frustrante, quindi come possiamo rendere disponibile il foglio di lavoro Excel per funzionare mentre il codice è in esecuzione dietro lo schermo.

Ciò può essere ottenuto aggiungendo una funzione VBA DoEvents .

Codice:

 Sub DoEvents_Example1 () Dim i As Long For i = 1 To 100000 Range ("A1"). Value = i DoEvents Next i End Sub 

Nel momento in cui aggiungiamo la funzione DoEvents nel codice possiamo accedere al foglio di lavoro di Excel.

Dall'alto possiamo vedere che il codice è in esecuzione ma possiamo accedere al foglio di lavoro.

Interrompi l'esecuzione del codice

Quando il codice è in esecuzione dietro lo schermo possiamo aggiungere righe, colonne ed eliminare le stesse, possiamo rinominare il foglio e possiamo fare anche molte altre cose. Nel momento in cui aggiungiamo DoEvents, il codice vba viene eseguito velocemente e ci consente di ritenere che l'attività menzionata sia in esecuzione da sola.

  • Uno dei pericoli della funzione DoEvents è che quando si cambia foglio di lavoro o cartella di lavoro si sovrascrivono i valori del foglio attivo.
  • Un altro pericolo è che, se inseriamo un valore nella cella, l'esecuzione del codice si interrompe e non ci avvisa nemmeno.
Nota : nonostante i pericoli di cui sopra di DoEvents, è ancora una funzione utile. Possiamo usare DoEvents come parte del processo di debug quando proviamo a correggere i bug del codice che abbiamo scritto.