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.

19 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

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