Si aún no está familiarizado con el manejo de errores , le recomendamos que lea este ejemplo primero. Cuando ocurre un error en Excel VBA , las propiedades del objeto Err se llenan de información.

Situación:

El programa siguiente calcula la raíz cuadrada de números.

Err Object en Excel VBA

1. Coloque un botón de comando en su hoja de trabajo y agregue las siguientes líneas de código:

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

Resultado cuando selecciona Rango ("B2: B6") y hace clic en el botón de comando en la hoja:

Resultado del objeto Err
Resultado del objeto Err

Explicación: cuando se produce un error, la propiedad numérica del objeto Err se rellena con un número de error exclusivo del error actual y la propiedad Descripción se rellena con la descripción del error actual.

2. Es posible que estas descripciones no sean muy útiles para los usuarios de su programa. Puede hacer que los mensajes de error sean más fáciles de usar modificando la última parte de la macro de la siguiente manera:

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

Consejo: consulte nuestro programa Select Case para obtener más información sobre la estructura de Select Case.

Resultado:

Mensaje amistoso
Mensaje amistoso

4/6 ¡Completado! Obtenga más información sobre los errores de macro>
Siguiente capítulo: manipulación de cadenas