Ke tal, ke tal, MI PROBLEMA ES EL SIGUIENTE:
Ya intenté hacerlo, pero nada.
1.- LO QUE HICE: La celda $A$1 la puse como CELDA DE VALIDACIÓN
(1,,2,3,4,5);
2.- LO QUE TENGO: 5 IMÁGENES en la RUTA: "C:\EXCEL\" con los
siguientes nombres: [1.jpg, 2.jpg, 3.jpg, 4.jpg, 5.jpg]
3.- LO QUE QUIERO: Que al seleccionar en la CELDA $A$1 (Lista
desplegable de validación) me ponga la IMAGEN 1.jpg, 2.jpg, 3.jpg,
4.jpg y 5.jpg. Y QUE LAS "ACTUALICE" CADA QUE LA SELECCIONES CAMBIEN.
4.- APROVECHANDO: Kisiera meter OTRA IMÁGENES, y ke el NOMBRE LO TOME
DE LA "CELDA $A$2" y que me la PONGA EN OTRO RANGO ("b30:g40") (Abajo
de la PRIMERA). ES EXACTAMENTE LO MISMO DE ARRIBA; solo que con otra
SERIE DE IMÁGENES Y EN OTRO RANGO.
PD: Ya lo INTENTÉ; copiando el MISMO CÓDIGO ABAJO (En la ventana de
códigos), pero me MARCA ERROR en la PRIMERA LÍNEA [Private Sub
Worksheet_Change(ByVal Target As Range)]; no sé por qué.
SE LOS AGRADEZKO KOSMICAMENTE ETERNO. Sería mi ÚLTIMA PREGUNTA DE
ESTE AÑO. Gracias de ANTE-MANO. >>>>>>>
ATENTAMENTE: EL "PG" desesperado (Ni que fuera CONSEJERO ESPIRITUAL
VERDAD???)
CODIGO Private Sub Worksheet_Change(ByVal Target As Range)
If Not Target.Address = "$A$1" Then Exit Sub
Dim De_donde As String, Foto As Object, _
Arriba As Double, Izquierda As Double, Ancho As Double, Alto
As Double
Application.ScreenUpdating = False
On Error Resume Next
Me.Shapes("La_Foto").Delete
De_donde = "C:\Excel\" & [a1] & ".JPG"
If Dir(De_donde) = "" Then Exit Sub
Set Foto = Me.Pictures.Insert(De_donde)
With Me.Range("b10:g20")
Arriba = .Top
Izquierda = .Left
Ancho = .Offset(0, .Columns.Count).Left - .Left
Alto = .Offset(.Rows.Count, 0).Top - .Top
End With
With Foto
.Name = "La_Foto"
.Top = Arriba
.Left = Izquierda
.Width = Ancho
.Height = Alto
End With
Set Foto = Nothing
End Sub
=
Leer las respuestas