Buenas. Buscando por la red encontre un ejemplo para vincular imagenes en
una hoja de excel. Me sirve, pero se debe mejorar un poco y yo de
programación estoy pez. He intentado mejorarlo pero no lo consigo. El caso
seria que yo quiero vincular 5 imagenes en distintos rangos y que para cada
rango tome el valor de de busqueda de distintas celdas. Os pego el código
que he intentado mejorar y que no funciona porque solo vincula la imagen de
la celda A11 y si en F11 pongo el mismo valor se ve otra imagen sino nada.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Foto, Foto_2 As Object, Arriba As Double, Izquierda As Double, Ancho
As Double, Alto As Double
Dim Ruta, Ruta_2 As String
Application.ScreenUpdating = False
On Error Resume Next
If Not Target = [a11] Then Exit Sub
Me.Shapes("Foto").Delete
Ruta = ThisWorkbook.Path & "\Imagenes\" & [a11] & ".jpg"
Set Foto = Me.Pictures.Insert(Ruta)
With Me.Range("b2:c8")
Arriba = .Top
Izquierda = .Left
Ancho = .Offset(0, .Columns.Count).Left - .Left
Alto = .Offset(.Rows.Count, 0).Top - .Top
End With
With Foto
.Name = "Foto"
.Top = Arriba
.Left = Izquierda
.Width = Ancho
.Height = Alto
End With
On Error Resume Next
If Not Target = [f11] Then Exit Sub
Me.Shapes("Foto_2").Delete
Ruta_2 = ThisWorkbook.Path & "\Imagenes\" & [f11] & ".jpg"
Set Foto_2 = Me.Pictures.Insert(Ruta_2)
With Me.Range("g2:h8")
Arriba = .Top
Izquierda = .Left
Ancho = .Offset(0, .Columns.Count).Left - .Left
Alto = .Offset(.Rows.Count, 0).Top - .Top
End With
With Foto_2
.Name = "Foto_2"
.Top = Arriba
.Left = Izquierda
.Width = Ancho
.Height = Alto
End With
End Sub
Haber que me podeis decir.
Leer las respuestas