Ingresar imagen en cuadro de imagen control activex cuando se cambien el valor de una celda con una lista de validación de datos

Para Dante

Hola en esta ocasión te consulto para ver como se puede programar un código para que en una hoja en la que tengo varios cuadros de imagen control activex que estos están vinculados cada uno al valor de una celda que tiene una lista con validación de datos.(Cada cuadro tiene una celda distinta) al cambiar el valor seleccionado en la celda con validación en el cuadro de imagen se cambie la imagen las cuales tendré en una carpeta externa a excel.

La ruta de la carpeta donde se encuentran las imágenes debería ser dinámica y que valiera para cuando cambiara el archivo de sitio siempre con la idea de mover la carpeta de las imágenes junto con el archivo excel.

Como siempre muchas gracias de antemano por tu ayuda y tu interés.

P.D; Aprovecho para desearte unas felices fiestas un muy prospero 2016.

1 respuesta

Respuesta
1

H o l a:

Envíame tu archivo de excel con un par de archivos de ejemplo de tus imágenes.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “gadita75” y el título de esta pregunta.

Avísame en esta pregunta cuando me lo hayas enviado.

Gracias por los buenos deseos, igualmente te deseo un feliz año 2016.

S a l u d o s . D a n t e   A m o r

¡Gracias!  ya te envié el correo con mi archivo.

Feliz año nuevo.

H o  l a:

Te anexo la macro para que ponga la imagen en la hoja.

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    Select Case Target.Address(False, False)
        Case "D4"
            carp = "HERRAMIENTAS"
        Case "D13"
            carp = "MAQUINARIA"
        Case "D22"
            carp = "VEHICULOS"
        Case Else
            Exit Sub
    End Select
    Set h1 = ActiveSheet
    Set h3 = Sheets(carp)
    Set b = h3.Columns("A").Find(Target, lookat:=xlWhole)
    If Not b Is Nothing Then
        ruta = ThisWorkbook.Path & "\IMAGENES\" & carp & "\"
        arch = h3.Cells(b.Row, "B") & ".jpg"
        If Dir(ruta & arch) <> "" Then
            Select Case carp
            Case "HERRAMIENTAS"
                h1.Image1.Picture = LoadPicture(ruta & arch)
            Case "MAQUINARIA"
                h1.Image2.Picture = LoadPicture(ruta & arch)
            Case "VEHICULOS"
                h1.Image3.Picture = LoadPicture(ruta & arch)
            End Select
        Else
            MsgBox "No existe el archivo"
        End If
    Else
        MsgBox "No existe el modelo"
    End If
End Sub

La macro va en los eventos de la hoja, para cada que cambies el modelo se actualice la imagen.

sal u dos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas