jueves, 15 de diciembre de 2016

Vincular Imagen a un Desplegable

Frecuentemente me llegan preguntas de cómo vincular al valor de una celda una imagen, guardada en un banco de fotos del libro de Excel.
Hoy veremos una manera de conseguirlo atemporal, ya que por desgracia, los métodos con los que es posible conseguirlo, han ido cambiando a lo largo de las versiones (ver post para versión 2007)


Partiremos del siguiente banco de fotos en nuestro libro de trabajo, en otra hoja 'Banderas', al que nos hemos preocupado de asignarles diferentes Nombres definidos:

Vincular Imagen a un Desplegable


Los nombres definidos aplicados corresponden a:
Colombia =Banderas!$C$2
España =Banderas!$C$3
México =Banderas!$C$4
Ecuador =Banderas!$C$5
Argentina =Banderas!$C$6

Un punto importante, previo a la resolución del problema, es desmarcar la opción de Lineas de división de la hoja:
Ficha Vista > grupo Mostrar > check de Lineas de cuadrícula

De esta manera evitaremos la futura imagen mostrada tenga un borde visible no deseado.

También es importante que las imágenes estén centradas en el interior de las celdas...


Siguiente paso, en nuestra hoja de información, en la hoja 'Report' en la celda A2 añadimos una validación de datos con origen en:
=Banderas!$B$2:$B$6
que nos permite desplegar los nombres de los diferentes países de nuestra lista.


A continuación marcamos la celda de cualquiera de las banderas (ojo LA CELDA!!, no la imagen!), la copiamos y pegamos como imagen vinculada en nuestra hoja 'Report' a la derecha de nuestra validación, por ejemplo en la celda C2.
IMPORTANTE pegarla como imagen vinculada:

Vincular Imagen a un Desplegable



Una vez pegada generamos un nuevo nombre definido, al que llamaré 'PaisElegido' y al que asignaremos la fórmula:
=INDIRECTO(Report!$A$2)

Vincular Imagen a un Desplegable


Este paso es fundamental, ya que es precisamente el paso donde asociamos el valor desplegado en la celda A2 con la imagen a mostrar.

Último paso.
Seleccionamos la imagen vinculada pegada en la hoja 'Report', y en la barra de fórmula reemplazamos la fórmula que aparece:
=Banderas!C2
(o similar)
por
=PaisElegido

Vincular Imagen a un Desplegable



Y hemos finalizado, ya podemos desplegar cualquiera de los países en la celda A2, que la imagen corresponderá a dicho país.

31 comentarios:

  1. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  2. No me funciono, en el caso de nombre definido en el ejemplo que muestras aparece desmarcado la casilla ámbito una lista desplegable cosa contraria en mi caso realizo todos los paso pero aparece un mensaje "La referencia no valida" uso Exel 2013
    Saludos...

    ResponderEliminar
    Respuestas
    1. Hola,
      lo que parece indicarte el error es que no has generado o coincide el nombre definido con lo que escribes en la celda.
      asegúrate que has generado previamente los Nombres definidos (revisa el inicio del post) de manera adecuada
      Saludos

      Eliminar
    2. Gracias por responder; si ese era el problema.

      Eliminar
  3. Saludos
    Tengo una hoja de excel que contiene facturas de diferente series
    Una hoja
    1) una columna que contiene la serie de cada factura
    2) una columna que contiene el numero de cada factura

    Pregunta
    Quisiera saber como tener una hoja en la cual me extraiga el ultimo numero de cada serie.

    Gracias

    ResponderEliminar
    Respuestas
    1. Hola Federico,
      quizá algo simple como construir una tabla dinámica sobre esas dos columnas, y agregando la Serie al área de filas y el número de factura (supongo es solo numérico) al área de valores resumido por máximo...
      Espero te resulte
      Saludos

      Eliminar
  4. Buen día. Excelente aporte. Pero tengo una duda, luego de implementado el ejercicio, ¿Qué debo de hacer para que una vez elimine el contenido de la celda que contiene la lista desplegable, también no se muestre ninguna bandera?

    ResponderEliminar
    Respuestas
    1. Hola,
      tendrías que habilitar en la hoja un evento change asociado a esa celda, para que cuando se borre (y quede vacía) borre la imagen..
      O bien sin macros, se me ocurre, añadir una imagen vacía al bando de datos, y asociarlo al caso de que la celda esté vacía...
      Saludos

      Eliminar
  5. Buenas tardes,
    me parece un trabajo espectacular el que haces con tu blog. Respecto a este ejemplo, no consigo hacerlo funcionar. Cuando llego al último punto, el de sustituir en la barra de formulas de la imagen vinculada el valor =Banderas!$C$2 por =PaisElegido, me aparece el mensaje: "La referencia no es válida". ¿Podrías ayudarme? He leido tu artículo varias veces y no acabo de ver donde está el origen del problema.

    ResponderEliminar
    Respuestas
    1. Hola, gracias JM
      asegúrate de haber creado previamente el nombre definido como se indica... y que está correctamente escrito.

      Slds

      Eliminar
    2. Hola,
      lo he repasado varias veces y el nombre está bien, de hecho, cuando empiezo a escribir a partir del =Pais..., el propio Excel, me completa la fórmula.
      La verdad, me parece un ejercicio muy interesante y me fastidia no poder conseguirlo.
      ¿Sería posible que me enviaras el fichero ya hecho?
      Muchas gracias adelantadas,
      JM

      Eliminar
    3. Envíame lo que tengas a
      excelforo@gmail.com

      Un saludo

      Eliminar
  6. buenos días Ismael, si yo tengo un archivo con 100 países asociadas a cada bandera cada uno; debo hacer definir 100 nombres a cada país y bandera?, no hay otra manera para bases de datos tan grandes?

    ResponderEliminar
    Respuestas
    1. Hola Henry,
      desde la ficha Formulas > grupo Nombres definidos > botón Crear desde la selección
      puedes crear nombres de manera masiva, de una sola vez...
      No hace falta ir país a país
      Saludos

      Eliminar
    2. Ismael, me surge también la siguiente pregunta: Que pasas si no tengo una sola imagen para cada país?...Me explico (en ejemplo de arriba), si Colombia tiene la bandera y ademas tiene el escudo en la celda "D2"; como hago para que me traiga las dos imágenes?.Gracias excelente trabajo.

      Eliminar
    3. Ummmm
      tendrías que generar para cada celda (bandera y escudo) un nombre definido, y ajustar en la celda definitiva, una nueva celda al lado con una fórmula similar que retorne una y otra (bandera y escudo)

      Espero haberme explicado (y haberte orientado).
      Saludos

      Eliminar
  7. Buenos días ismael, el ejemplo lo he seguido igual pero se me genera el mensaje de que la referencia no es valida al ultimo momento. He visto en los comentarios lo que sugieres para corregirlo, pero de igual forma me sigue saliendo el error.

    ResponderEliminar
    Respuestas
    1. Hola brayan
      Solo puedo decirte que revises los pasos.. seguramente habrás obviado algún nombre definido
      Saludos

      Eliminar
  8. Saludos Ismael, muchas gracias por tu gran aporte. Me he basado en tu ejemplo para crear un recibo de pago donde se escribe el nombre del beneficiario y excel coloca de forma automatica el numero de identidad, asi como la imagen del documento de identidad. Hasta alli todo bien, de hecho funciona a la perfeccion a excepcion de que en algunos casos toma mal la imagen, ya que en vez de tomar solo la imagen de la celda, toma una imagen de varias celdas alrededor. Solo sucede ese error en 5 de los documentos de identidad. Si coloco la informacion en una celda que previamente ha funcionado bien, todo de maravilla. en que radica ese error en solo esas 5 celdas? Agradecido de antemano por tu amable receptividad y pronta respuesta

    ResponderEliminar
    Respuestas
    1. Hola Christian,
      el reflejo se realiza en realidad sobre las celdas que hay debajo de la imagen original, quizá en esas cinco ocasiones la imagen sea más pequeña que las celdas que se representan...
      La solución pasaría por ajustar bien el tamaño de la imagen a las celdas que luego se muestran o bien ajustar el rango al tamaño de la imagen

      Un saludo

      Eliminar
    2. Eso pensé inicialmente, pero pasando esa misma imagen a una celda que no presenta problema, se muestra como debe ser. Todas las celdas tienen el mismo tamaño

      Eliminar
    3. raro...
      envíame si quieres el fichero a
      excelforo@gmail.com
      Saludos

      Eliminar
  9. Saludos y felicitaciones por las explicaciones.
    Es posible que nos envíes los archivos excel para sobre ellos trabajar.
    Gracias

    ResponderEliminar
    Respuestas
    1. Muchas gracias...
      lo siento no guardo ficheros tan viejos
      :'(

      Saludos cordiales

      Eliminar
  10. NO LO PUDE LOGRAR, LO HE INTENTADO, Y ME SIGUE APARFECIENDO REFERENCIA NO VALIDA EN MI CASO, INTENTO QUE AL SELECCIONAR EL NOMBRE, APAREZCA LA FIRMA DE LA PERSONA EN FORMA DE IMAGEN, PERO NO LO CONSIGO, CADA INTENTO ME APARECE REFERENCIA NO VALIDA,

    ResponderEliminar
    Respuestas
    1. Hola,
      lo que parece indicarte el error es que no has generado o coincide el nombre definido con lo que escribes en la celda.
      asegúrate que has generado previamente los Nombres definidos (revisa el inicio del post) de manera adecuada
      Saludos

      Eliminar
  11. Hola amigo, gracias por este gran aporte, he buscado en varias paginas como realizarlo, unas de una manera, otras diferente. Uso office 2013 y al igual que unos comentarios arriba me aparece la referencia no valida. Los nombres definidos ya los valide, todas las imágenes están con el nombre de la celda de la izquierda, al realizar el último paso me aparece error (cambiar el nombre de la imagen). No se si te pueda enviar mi archivo y me indiques en que estoy incorrecto ó si es por mi versión de excel.
    Agradezco tu atención al presente.

    ResponderEliminar
    Respuestas
    1. Hola José
      envíamelo a
      excelforo@gmail.com
      y lo reviso
      saludos

      Eliminar
    2. Ismael muchas gracias por tu atención, ya lo logre realizar. Creo el problema era que los nombres de las celdas que hacían referencia a las imágenes llevaban espacios. Ejemplo: "Botella de Agua" y cuando cambiaba el nombre a la imagen decía "Botella_de_agua". Después lo intente poniendo números a las imágenes pero también fallo. Me resulto cuando lo deje en una palabra cada imagen.

      Saludos

      Eliminar

Nota: solo los miembros de este blog pueden publicar comentarios.