Macro para poner distintas fotos en excel dependiendo del valor de una celda

Estoy haciendo un programa con excel y en la pantalla principal tengo la hoja de resultados, en la cual quiero que según el nombre que ponga en una celda, aparezca la foto relacionada con ese nombre de celda. Por ejemplo, si sale el nombre "pepito", quiero que salga la foto de pepito al lado, y si sale otro nombre, que salga la foto del nombre que haya puesto en ese mismo lugar.

Las fotos las tengo en una hoja auxiliar de excel.

1 Respuesta

Respuesta
1

Te mando un ejemplo, sigue mis pasos:

Desde el menú de programador inserta un objeto activex de tipo imagen y dibújalo en la planilla. Después entra en su propiedad PICTURESIZEMODE y elije la opción 3----sal de las propiedades y recuerda dejar despulsado el botón de diseño del objeto que está en la barra de programador.

Ahora pega esta macro en el objeto hoja que contiene dicho recuadro, no en un módulo.

Como verás en la macro tendrás que escribir el path de la carpeta donde tienes tus fotos, en mi ejemplo pone esto: C:\Users\Luis\Documents\fotos\


Como es un evento change, en el momento que escribas algo en la celda A8 de dicha hoja, te buscará dicha foto en la carpeta de path y la pintará dentro del recuadro . (al final le he añadido que es de tipo jpg)

Private Sub Worksheet_Change(ByVal Target As Range)
'por Luismondelo
on error resume next
If Target.Address = "$A$8" Then
ActiveSheet.Image1.Picture = LoadPicture("C:\Users\Luis\Documents\fotos\" & Target.Value & ".jpg")
End If
End Sub

recuerda finalizar y puntuar

hola, gracias por la respuesta, pero tengo una duda. cuando voy a abrir el excel con otro ordenador, la ruta de las fotos no será la misma y no se van a ver. hay alguna forma de tener las fotos ya metidas dentro de la hoja de excel y que las busque ahí?

Claro, pero de igual manera deberá acompañar a cada nombre de foto su path

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas