Sommario:
- Revisione della procedura EnterSquareRoot
- Errore On non funziona?
- Informazioni sull'istruzione On Error
Video: Tutorial VBA Base - Video 10 - Gestione degli Errori 2025
Come è possibile identificare e gestire ogni possibile errore in Excel 2016? Spesso, non puoi. Fortunatamente, VBA offre un altro modo per gestire quegli errori fastidiosi.
Revisione della procedura EnterSquareRoot
Esaminare il seguente codice. La routine utilizza un'istruzione On Error per tutti gli scopi per intercettare tutti gli errori e quindi controllare se l'InputBox è stato annullato.
Sub EnterSquareRoot5 () Dim Num As Variant Dim Msg As String 'Imposta gestione errori On Error GoTo BadEntry' Richiedi un valore Num = InputBox ("Inserisci un valore") 'Esci se cancellato If Num = "" Quindi Esci Sub 'Inserisci la radice quadrata di ActiveCell. Valore = Sqr (Num) Exit Sub BadEntry: Msg = "Si è verificato un errore. "& VbNewLine & vbNewLine Msg = Msg &" Assicurati che sia selezionato un intervallo, "Msg = Msg &" il foglio non è protetto, "Msg = Msg &" e inserisci un valore non negativo. "MsgBox Msg, vbCritical End Sub
Questa routine intercetta qualsiasi tipo di errore di runtime. Dopo aver intrappolato un errore di runtime, la procedura di EnterSquareRoot modificata visualizza questa finestra di messaggio. Questa finestra di messaggio descrive le cause più probabili dell'errore.
Errore On non funziona?
Se un'istruzione On Error non funziona come pubblicizzato, è necessario modificare una delle impostazioni:
-
Attiva il VBE.
-
Scegli il comando Strumenti → Opzioni.
-
Fare clic sulla scheda Generale della finestra di dialogo Opzioni.
-
Assicurarsi che l'impostazione Interruzione su tutti gli errori sia deselezionata.
Se questa impostazione è selezionata, Excel ignora essenzialmente le istruzioni On Error. Normalmente si desidera mantenere le opzioni di Trapping degli errori impostate su Interruzione sugli errori non gestiti.
Informazioni sull'istruzione On Error
L'utilizzo di un'istruzione On Error nel codice VBA consente di aggirare la gestione degli errori incorporata di Excel e utilizzare il proprio codice di gestione degli errori. Nell'esempio precedente, un errore di runtime fa sì che l'esecuzione della macro passi all'istruzione etichettata BadEntry. Di conseguenza, si evitano i messaggi di errore ostili di Excel e si può visualizzare il proprio messaggio all'utente.
Si noti che nell'esempio viene utilizzata un'istruzione Exit Sub subito prima dell'etichetta BadEntry. Questa istruzione è necessaria perché non si desidera eseguire il codice di gestione degli errori se si verifica un errore non .
