Funzione Excel VBA DoEvents
Con l'aiuto di VBA DoEvents , possiamo eseguire il codice in background e contemporaneamente ci consente di lavorare con Excel e anche 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 interrompe per un po 'di tempo e, a volte, non risponde.
Ad 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.

Da quanto sopra, 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 è quando cambiamo foglio di lavoro o cartella di lavoro e sovrascrive i valori del foglio attivo.
- Un altro pericolo è che se inseriamo un valore nella cella, l'esecuzione del codice si interrompe e non ci viene nemmeno notificato.