Problema excel catálogo de imágenes

Tengo un problema al crear un catálogo de imágenes en Excel,

Tengo este código para tener dos fotos por ActiveX diferentes segun selección:

Private Sub Image2_SelectionChange(ByVal Target As Range)

If Not Intersect(Target, Range("A2:A22")) Is Nothing Then
Image2.Picture = LoadPicture("C:\Users\areviriego\Desktop\Planos IND\09052016\FotosInspecciones\" & Target & ".jpg")
End If

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Not Intersect(Target, Range("C2:C22")) Is Nothing Then
Image1.Picture = LoadPicture("C:\Users\areviriego\Desktop\Planos IND\09052016\" & Target & ".jpg")
End If

End Sub

El caso es que me funciona bien para la segunda parte las del rango (C2:C22) pero no funciona para la primera del rango (A2:A22).

¿Sabéis qué puede ser?

1 respuesta

Respuesta
1

Solo se puede tener una macro Worksheet_SelectionChange por hoja.

Por lo que veo la primer macro hace referencia a la imagen y no a la hoja.

Las 2 macros juntas te quedarían así:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'x Elsamatilde
'se controla la selección en 2 rangos diferentes
If Not Intersect(Target, Range("C2:C22")) Is Nothing Then
    Image1.Picture = LoadPicture("C:\Users\areviriego\Desktop\Planos IND\09052016\" & Target & ".jpg")
Else
    If Not Intersect(Target, Range("A2:A22")) Is Nothing Then
        Image2.Picture = LoadPicture("C:\Users\areviriego\Desktop\Planos IND\09052016\FotosInspecciones\" & Target & ".jpg")
    End If
End If
End Sub

Si esto resuelve tu consulta no olvides valorarla.

¡Gracias! 

Funciona a las mil maravillas!

Una duda que tengo es como elegir el formato en el que sale la imagen ya que se elegir el tamaño mediante el cuadro de ActiveX pero se inserta haciendo como una especie de zoom a la imagen original, sabes como hacer para que salga tal cual la original? 

Muchas gracias!

Seguí las marcas que dejé en imagen adjunta:

- Pasar a Modo Diseño

- Seleccionar la imagen con clic derecho, opción Propiedades

- En PictureSizeMode dejarlo en 1 (Stretch)

Lo mismo para el otro control. Luego debes quitar el Modo Diseño.

Sdos!

Muchas gracias todo perfecto, pero si quiero meter una tercera imagen no me sale correcto, que estoy poniendo mal?

Mil gracias por la ayuda

Private Sub Image1_Click()

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'x DavidRedondo
'se controla la selección en 2 rangos diferentes
If Not Intersect(Target, Range("C2:C500")) Is Nothing Then
Image1.Picture = LoadPicture("Z:\ZONASMAD-05\1CONSULTORIA\IND. LOTE 3\1605 MAYO\160523\FUENCARRAL\230516\230516_Archivos\" & Target & ".jpg")
Else
If Not Intersect(Target, Range("A2:A500")) Is Nothing Then
Image2.Picture = LoadPicture("Z:\ZONASMAD-05\1CONSULTORIA\IND. LOTE 3\1605 MAYO\160523\FUENCARRAL\230516\230516_Archivos\FotosInspectores\" & Target & ".jpg")
Else
If Not Intersect(Target, Range("A2:A500")) Is Nothing Then
Image3.Picture = LoadPicture("Z:\ZONASMAD-05\1CONSULTORIA\IND. LOTE 3\1605 MAYO\160523\mallas solucionadas\" & Target & ".jpg")

End If
End If
End If
End Sub

Para la primer imagen se controla el rango en col C y para la segunda en col A.

Entonces para la 3ra debes elegir otro rango sino siempre se carga la imagen 2.

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas