Macro para mostrar imagen dependiendo del valor de celda Excel 2010 (automático)

Les ruego me por favor me ayuden con la siguiente macro.

El problema consiste en que tengo una celda B22 con formato condicional por lo cual varía dependiendo del valor de otra celda, la macro consiste en asociar una imagen que varía acorde con el valor de la celda B22, PERO para que cambie la imagen tengo que posicionarme en la celda y presionar Enter.

Yo deseo que la imagen se cambie de forma automática con el valor de la celda y no se como hacer esto.

Muchísimas gracias por la atención y su ayuda.

MACRO

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Cells = Range("B22") Then
Application.ScreenUpdating = False
foto = Range("B22").Value
foto = Replace(foto, " ", "-")
foto = foto & ".jpg"
rutayarchivo = ActiveWorkbook.Path & "\" & foto
Me.Shapes("foto").Delete
Set fotografía = Me.Pictures.Insert(rutayarchivo)
With Range("B24:D24")
Arriba = .Top
Izquierda = .Left
Ancho = .Offset(0, .Columns.Count).Left - .Left
Alto = .Offset(.Rows.Count, 0).Top - .Top
End With
With fotografía
.Name = "foto"
.Top = Arriba
.Left = Izquierda
.Width = Ancho
.Height = Alto
End With
Set fotografía = Nothing
Application.ScreenUpdating = True
End If
End Sub

1 respuesta

Respuesta
1

Te mando una solución, sigue mis instrucciones:

En primer lugar inserta un objeto image en la hoja del tamaño que quieras. Después sería conveniente que modificaras su propiedad "picturesizemode" a la opción 3

Después copia esta macro en el objeto hoja en el que estará la foto:

Como es lógico tendrás que cambiar el path que yo he puesto en esta macro por el tuyo

Mediante este evento se autoejecutará la macro siempre que se produzca cualquier cambio en la hoja y te mostrará la foto correspondiente al nombre escrito en la celda B22

Private Sub Worksheet_Change(ByVal Target As Range)
foto = Range("b22").Value
ActiveSheet.Image1.Picture = LoadPicture("C:\Users\Luis\Documents\fotos\" & foto & ".jpg")
End Sub

recuerda finalizar la consulta

Muchas gracias por la pronta respuesta. Ya lo hice y sin embargo sigo teniendo exactamente el mismo error, cuando la celda cambia, la foto no cambia, a menos que se le de ENTER a la celda y eso es lo que quiero evitar (la celda cambia sola por que tiene formato condicional que depende de otra que es la que se modifica).

No se si me explico. Creo que necesito una macro que presione ENTER en la celda B22 y luego la vuelva a proteger, pero no la encuentro.

Espero que también me pueda ayudar con esto.

Saludos cordiales

Disculpa, era mi error, tenía que dar ENTER en la celda que sí se modifica, otra que no era B22 y ahora sí salió bien.

Muchísimas gracias.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas