Reemplazar mensaje de error con un macro

Hola experto, le traigo la siguiente consulta:
Quiero saber como se puede hacer para reemplazar un error que me arroja una macro en excel. El mismo se produce cuando quiero eliminar una ultima imagen cargada, El error sale cuando no tengo ninguna imagen, pero lo que yo quiero es reemplazar ese error
"-2147024809 (80070057)
El indice de la colección especificada se encuentra fuera de los limites
-2147024809 (80070057)el indice de la colección especificada se encuentra fuera de los limites"
Por cualquier otro. Como por ejemplo: "No hay datos para borrar" o algo así, no se si me explico.
Acá le paso el código del botón
Sub limpiar_()
'
' limpiar_ Macro
' Macro grabada el 09/05/2011 por Matias
'
'
    Range("I4:O4").Select
    Selection.ClearContents
    Range("E12").Select
        ActiveSheet.Shapes(13).Select
    Selection.Delete
    Range("D16").Select
End Sub

1 Respuesta

Respuesta
1
Para controlar los errores se utiliza la sentencia On Error GoTo...
En tu caso, se controlaría de este modo, te he puesto en negrita los cambios que he añadido.
Sub limpiar_()
'
' limpiar_ Macro
' Macro grabada el 09/05/2011 por Matias
'
'
    On Error GoTo Errores
    Range("I4:O4").Select
    Selection.ClearContents
    Range("E12").Select
        ActiveSheet.Shapes(13).Select
    Selection.Delete
    Range("D16").Select
Exit Sub
Errores:
    'Con una sentencia IF puedes controlar el error
'y en función del error mostrar el mensaje que desees
    If Err.Number = -2147024809 Then
        'Este es el mensaje en caso de que el error sea el -2147024809
        MsgBox "No hay datos para borrar", vbInformation
    Else
        'En caso de que se produzca otro error
        'Mostramos el mensaje correspondiente al error producido
        MsgBox Err.Description
    End If

End Sub
Saludos,
Carlos
[email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas