Si usted no está familiarizado con enlace: / VBA ejemplos de manejo de errores [Control de errores]

sin embargo, es muy recomendable que lea este ejemplo primero. Cuando se produce un error en Excel VBA, las propiedades del objeto Err están llenos de información.

Situación:

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

Err Object in Excel VBA

  1. Coloque un botón de comando

en su hoja de trabajo y añadir 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

Resultar cuando se selecciona Range ( «B2: B6») y haga clic en el botón de comando en la hoja:

Err Object Result

Err Object Result

Explicación: cuando se produce un error, la propiedad número del objeto Err se llena con un número de error única del error actual y la propiedad Description se llena con la descripción de error del error actual.

  1. Estas descripciones pueden no ser muy útil para los usuarios de su programa. Puede hacer que los mensajes de error más fácil de usar mediante la modificación de 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: ir a través de nuestro enlace: / VBA-ejemplos de selección de los casos [Select Case] programa para aprender más sobre la estructura Select Case.

Resultado:

Friendly Message

Friendly Message