Se non si ha familiarità con link: / VBA-esempi-di gestione degli errori [Gestione degli errori]

tuttavia, ti consigliamo di leggere questo esempio prima. Quando si verifica un errore in Excel VBA, le proprietà dell’oggetto Err sono pieni di informazioni.

Situazione:

Il seguente programma calcola la radice quadrata di numeri.

Err Object in Excel VBA

  1. Inserire un pulsante di comando

nel foglio di lavoro e aggiungere le seguenti righe di codice:

Dim rng As Range, cell As Range

Set rng = Selection

For Each cell In rng

On Error GoTo InvalidValue:

cell.Value = Sqr(cell.Value)

Next cell

Exit Sub

InvalidValue:

MsgBox Err.Number & " " & Err.Description & " at cell " & cell.Address

Resume Next

Risultato quando si seleziona Range ( “B2: B6”) e fare clic sul pulsante di comando sul foglio:

Err Object Result

Err Object Result

Spiegazione: quando si verifica un errore, la proprietà numero dell’oggetto Err è riempito con un numero di errore univoco dell’errore corrente e la proprietà Description è riempito con la descrizione dell’errore dell’errore corrente.

  1. Queste descrizioni potrebbero non essere molto utile per gli utenti del programma. È possibile effettuare i messaggi di errore più user friendly, modificando l’ultima parte della macro come segue:

InvalidValue:

Select Case Err.Number

Case Is = 5

MsgBox "Can't calculate square root of negative number at cell " & cell.Address

Case Is = 13

MsgBox "Can't calculate square root of text at cell " & cell.Address

End Select

Resume Next

Suggerimento: passare attraverso il nostro link : / VBA-esempi-select-caso [Select Case] programma per imparare di più sulla struttura Select Case.

Risultato:

Friendly Message

Friendly Message