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.
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:
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:
4/6 ¡Completado! Obtenga más información sobre los errores de macro>
Siguiente capítulo: manipulación de cadenas