Duda con fotos en excel.
Hola.
Tengo este código y funciona perfectamente, mi pregunta es esta, com puedo hacer lo mismo, ¿con otra celda en la misma hoja? Pongo el nombre de la imagen en la celda B11 y quiero que la coloque en el rango ("D13:G17"). Gracias por tu ayuda, es muy importante para mí, soy a aprendiz.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Foto As Object, Arriba As Double, Izquierda As Double, Ancho As Double, Alto As Double
Dim ruta As String
Application.ScreenUpdating = False
On Error Resume Next
If Not Target = [B1] Then Exit Sub
Me.Shapes("Foto").Delete
Dim carpeta As String
carpeta = "P:\Production\Internal Use\Proyecto\PX80\FOTOS"
ruta = carpeta & "\" & [B1] & ".jpg"
Set Foto = Me.Pictures.Insert(ruta)
With Range("D3:G7")
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
Set Foto = Nothing
Application.ScreenUpdating = True
End Sub
Tengo este código y funciona perfectamente, mi pregunta es esta, com puedo hacer lo mismo, ¿con otra celda en la misma hoja? Pongo el nombre de la imagen en la celda B11 y quiero que la coloque en el rango ("D13:G17"). Gracias por tu ayuda, es muy importante para mí, soy a aprendiz.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Foto As Object, Arriba As Double, Izquierda As Double, Ancho As Double, Alto As Double
Dim ruta As String
Application.ScreenUpdating = False
On Error Resume Next
If Not Target = [B1] Then Exit Sub
Me.Shapes("Foto").Delete
Dim carpeta As String
carpeta = "P:\Production\Internal Use\Proyecto\PX80\FOTOS"
ruta = carpeta & "\" & [B1] & ".jpg"
Set Foto = Me.Pictures.Insert(ruta)
With Range("D3:G7")
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
Set Foto = Nothing
Application.ScreenUpdating = True
End Sub
2 Respuestas
Respuesta de Elsa Matilde
1
Respuesta de tavopz
1