Gestione degli errori VBA - Guida alla gestione degli errori in Excel VBA

Gestione degli errori di Excel VBA

In VBA quando lavoriamo con i codici possiamo riscontrare molti diversi tipi di errore e come risolvere questi errori è noto come Gestione degli errori, ora possono esserci alcuni errori che vengono commessi nella sintassi che Excel stesso lo evidenzia ma quando c'è qualche errore che è fuori dall'intervallo o qualcosa che non esiste Excel ci dà un pop-up per lo stesso, è importante sapere quale codice di errore è per quale errore al fine di identificare l'errore nel codice.

In Excel VBA, durante l'esecuzione di qualsiasi set di codici, otteniamo una sorta di errore. Alcuni di questi errori sono errori di sintassi; alcuni sono errori che non sono eseguibili. L'errore di sintassi è quando fatto dall'utente è evidenziato in rosso da Excel stesso. Ma quando c'è un altro tipo di errore di runtime, come lo gestiamo e come possiamo andare oltre questo è ciò che tratteremo in questo articolo.

Oltre agli errori di sintassi, gli altri errori di runtime devono essere gestiti durante l'esecuzione di qualsiasi set di codici. Innanzitutto, lasciatemi fare un esempio di come si verifica l'altro errore di runtime. Dai un'occhiata al codice sottostante,

Questo è un codice di esempio, quando eseguito, restituirà ciò che è scritto nella funzione msgbox. Ma come possiamo vedere che nella seconda riga del codice, c'è 4/0, che non è possibile in termini matematici, quindi restituirà un errore di runtime. Eseguiamo il codice sopra e vediamo l'errore che otterremo.

Questo è l'errore che otteniamo durante l'esecuzione del codice specificato. Ora come gestiamo questo errore è fatto da Gestione errori.

Esistono due metodi per la gestione degli errori che sono:

  1. In caso di errore Goto e
  2. In caso di errore, riprendi dopo.

Spiegazione

Come spiegato sopra, otteniamo molti tipi di errori in VBA. Alcuni sono sintassi e altri sono in fase di esecuzione. Gli errori di sintassi sono già evidenziati in colore rosso, ad esempio, fare riferimento all'immagine sottostante,

Mentre l'altro è errori di runtime. Fondamentalmente, Excel farà le seguenti tre cose, o mostrerà un errore o ignorerà quell'errore, o mostrerà un certo insieme di istruzioni. Per eseguire tali attività, dobbiamo fornire istruzioni e questo si chiama Gestione degli errori.

Come gestire gli errori nel codice VBA?

Esempio 1

Per il primo esempio, prendiamo il primo codice che abbiamo preso come dimostrazione. Nell'esempio sopra, abbiamo visto che il codice restituisce un errore di runtime alla seconda funzione msgbox.

Scrivi il seguente codice dopo aver aperto la sottofunzione,

Codice:

Sub Sample () On Error Resume Next MsgBox 4/2 MsgBox 4/0 MsgBox 4/1 End Sub

Ora, quando eseguiamo il codice sopra, vediamo che la riga di codice che ha l'errore non viene eseguita. Excel salta quella riga e riprende dalla riga successiva.

C'è un altro metodo per gestire l'errore è l'istruzione VBA Goto. Forniamo Excel come destinazione a cui andare quando rileva un errore. Invece del precedente codice di gestione degli errori, abbiamo inserito, annotato il seguente codice,

Codice:

Sub Sample () On Error GoTo az MsgBox 4/2 MsgBox 4/0 MsgBox 4/1 End Sub

Stiamo dando excel Az come destinazione a cui andare se trova un errore. Ora dopo il msgbox, scrivi un altro codice come di seguito,

Codice:

Sub Sample () On Error GoTo az MsgBox 4/2 MsgBox 4/0 MsgBox 4/1 Fatto: Exit Sub

Ora dobbiamo definire la destinazione az come cosa dovrebbe fare quando Excel trova un errore nel codice.

Codice:

Sub Sample () On Error GoTo az MsgBox 4/2 MsgBox 4/0 MsgBox 4/1 Fatto: Exit Sub az: MsgBox "Questo è un errore" & Err.Description End Sub

Ora, quando eseguiamo questo codice, vediamo il risultato visualizzato.

Questo è il primo risultato della casella msg e poiché sappiamo di avere un errore nella riga successiva del nostro codice, vediamo il risultato che darà Excel.

La descrizione err. Sopra nel codice ci aiuta a mostrare esattamente cosa si è verificato l'errore nel nostro codice.

Esempio n. 2

Abbiamo imparato a gestire gli errori nei nostri codici. Vediamo un altro esempio di come gestire gli errori. Considera il codice seguente come secondo esempio.

Abbiamo un errore in qualche modo simile dall'esempio 1. L'errore è nella riga d = i / b. Ora gestiremo questi errori utilizzando i due metodi spiegati sopra.

Scrivi il seguente codice dopo aver aperto la sottofunzione,

Codice:

Sub Sample2 () On Error Resume Next bx Dim i As Integer, b As Integer, c As Integer, d As Integer i = 2 b = 0 c = i + b MsgBox cd = i / b MsgBox d End Sub

Now when we execute our code, we can see that it ignores the second line and just displays the value for C.

The above error handler was a resume next, and now we will use the Go to wherein we will tell we excel a destination to go when it encounters an error. Write down the following code,

Code:

Sub Sample2() On Error GoTo bx Dim i As Integer, b As Integer, c As Integer, d As Integer i = 2 b = 0 c = i + b MsgBox c d = i / b MsgBox d

The bx is a destination given when it encounters an error after msgbox D write down the following code,

Code:

Sub Sample2() On Error GoTo bx Dim i As Integer, b As Integer, c As Integer, d As Integer i = 2 b = 0 c = i + b MsgBox c d = i / b MsgBox d DOne: Exit Sub

Now we need to define the destination Bx what it should do when it encounters an error, So write down the following code,

Code:

Sub Sample2 () On Error GoTo bx Dim i As Integer, b As Integer, c As Integer, d As Integer i = 2 b = 0 c = i + b MsgBox cd = i / b MsgBox d DOne: Exit Sub bx: MsgBox "Questo è un altro errore" & Err.Description End Sub

Ora, quando eseguiamo il codice, possiamo vedere che Excel ci dà prima il valore per C.

Ora in un altro passaggio, ci fornirà il prompt che abbiamo fornito quando incontra un errore.

Questo è il modo in cui gestiamo i normali errori di runtime in Excel VBA.

Cose da ricordare

Ci sono alcune cose che dobbiamo ricordare sulla gestione degli errori:

  1. In caso di errore, riprendi dopo, ignora l'errore.
  2. On Error GoTo Fornisce a Excel una destinazione quando incontra un errore.
  3. La descrizione viene utilizzata per mostrare l'errore esatto che si è verificato all'utente.

Articoli interessanti...