Macro Llama Imagen de Carpeta

Haber si alguien me puede echar una mano, no soy bueno con la programación de VBA.
Es un libro de excel que usa fórmula buscarV, al Introducir el numero de empleado en la celda y dar enter, me busca en toda la carpeta de nombre "imagenes" la imagen o foto del usuario que le corresponde el numero asignado...
La macro funciona pero requiero que si no encuentra la imagen de la carpeta asignada"imagenes", me coloque una imagen de nombre "nphoto.jpg"
Adjunto macro para ser más especifico..

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("$E$10:$E$10")) Is Nothing Then
    Image1.Picture = _
        LoadPicture(ActiveWorkbook.Path & "\imagenes\" & Target & ".jpg")
        End If
If Not Intersect(Target, Range("E29:E29")) Is Nothing Then
Image2.Picture = _
        LoadPicture(ActiveWorkbook.Path & "\imagenes\" & Target & ".jpg")
End If
End Sub

He intentado con ErrorHandler pero no logro dar con la solución...

1 Respuesta

Respuesta
1

¿Has intentado esto?, en esta macro el error se maneja así, si no encuentra la imagen principal generara un numero de error el mediante un if err. Number>0 activara un msgbox para después cargar la imagen que quieres, y después resetea el error a 0 par hacer lo mismo con la siguiente imagen.

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("$E$10:$E$10")) Is Nothing Then
On Error Resume Next
    Image1.Picture = _
        LoadPicture(ActiveWorkbook.Path & "\imagenes\" & Target & ".jpg")
        If Err.Number > 0 Then
            MsgBox ("no se ha encontrado ruta de acceso")
            Image1.Picture = _
        LoadPicture(ActiveWorkbook.Path & "\imagenes\nphoto.jpg")
        End If
    On Error GoTo 0
        End If
If Not Intersect(Target, Range("E29:E29")) Is Nothing Then
On Error Resume Next
Image2.Picture = _
        LoadPicture(ActiveWorkbook.Path & "\imagenes\" & Target & ".jpg")
        If Err.Number > 0 Then
            MsgBox ("no se ha encontrado ruta de acceso")
            Image2.Picture = _
        LoadPicture(ActiveWorkbook.Path & "\imagenes\nphoto.jpg")
        End If
    On Error GoTo 0
End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas