Catálogo de imágenes en Excel sin macros

Continuando con la idea de la “base de datos de imágenes” de los post anteriores, les quería comentar como hacer una versión de lo mismo, o algo parecido sin macros.
Esta forma es práctica y sencilla, tiene el inconveniente que las imágenes se guardan dentro del archivo por lo que no podemos usar base de datos muy extensas ya que sería muy grande el archivo, y en Excel cuando un archivo es muy grande  a veces se corrompe, además  tarda mucho en procesar, se hace lento, etc. Por otro lado, hay que ubicar las imágenes en cada celda manualmente, creo que se podría hacer con una macro pero en fin.
Supongamos que tenemos una un tienda de, por decir algo, 20 productos y un formulario para mostrar en función del código introducido la imagen del producto al cual hacemos referencia, junto con su precio, descripción, etc.



La función que nos permite hacer el catalogo sin macros, es DESREF. Esta función hace referencia a una celda específica o a un rango de acuerdo a la referencia introducida. Esta función es un poco complicada de entender si no se la usa a menudo pero es muy útil en muchas ocasiones.

También utilizamos “Nombres” que son referencias a rangos de datos, es útil también cuando no deseamos tener una formula guardada en alguna celda. Mediante los nombres podemos relacionar rangos y formulas.
Los nombres utilizados para hacer el catalogo son:

Lista  = DESREF ('Base de datos'!$B$11;0;0;4;1)

-          Con esta formula guardamos los datos de la celda de códigos. En este caso como tengo cuatro datos, el alto es 4. Podemos hacer actualice automáticamente la cantidad de códigos utilizando un contar en la forma, para este caso, CONTAR ($B$11:$B$65536). La formula anterior iría en vez del 4 en la formula guardada en el nombre.

Imagen = DESREF('Base de datos'!$C$11;COINCIDIR('Base de datos'!$C$5;lista;0)-1;0;1;1)

-          En este caso la formula se refiere el valor que se encuentra en la celda en la cual coincide un valor de la Lista con el valor introducido en la celda C5. Al relacionar un objeto de imagen con el nombre Imagen, de acuerdo al valor que se encuentre en la celda C5, nos mostrará el “printscreen” de la celda a la cual se hace referencia. Es decir, saca una foto de lo que hay en la celda de referencia y lo muestra en el objeto de imagen.

Como vemos es una forma mus astuta de hacer un catalogo de imágenes, o una bese de datos de imágenes con formulario de búsqueda.
Como dije anteriormente, es un poco incomodo tener que incrustar en cada celda una imagen, además todas las imágenes convendría que sean del mismo tamaño. También hay que tratar que la imagen ocupe todo el espacio de la celda. Se podría hacer una macro para acomodar automáticamente la imagen al lugar que corresponda pero de nuevo entraríamos en el tema de Macros y VBA que es lo que tratamos de evitar para este ejemplo.

Para finalizar con el post tengo que decir una vez mas demostramos que las posibilidades que ofrece Excel como herramienta son muy útiles y variadas.

keys:
- Catálogo de Productos en Excel sin macros
- Base de datos de productos en Excel sin macros
- Images database in Excel
- Database with pictures in Excel

22 comentarios:

Maikel Carrillo dijo...

Podrias subir el archivo que tienes de muestra por favor o enviarlo a maikelcarrillo@gmail.com gracias

Rodrigo Delgado dijo...

Me parece una solucion muy ingeniosa. Algo que he estado buscando desde hace algun tiempo. Sin embargo, no me funciona. He replicado todo en una hoja de excel 2010 pero cuando trato de cambiar el nombre "imagen" me dice que la referencia es invalida.

Como puedo corregir ésto?

Juan Pablo Torres dijo...

Hola amigo, cómo estas! Gracias por tus comentarios!

En general , en Excel no hay problemas con las versiones. Sin embargo Microsoft a veces cambia pequeñas cosas y no puedes hacer trucos que hacías con otras versiones. No estamos familiarizados aún con Excel 2010 así que no podemos responderte con seguridad. Por otro lado lo bueno de Excel es que hay varias manera de hacer lo mismo. Y también recuerda que hay otro artículo relacionado que te puede ser de utilidad. Saludos y esperamos futuros comentarios!

César Gonzales dijo...

Para que no aparezca el mensaje de referencia inválida es necesario cambiar las formula de Imagen. Quitar las comillas que aparezcan y cambiar los punto y coma (;) por comas (,).
Saludos

Juan Pablo Torres dijo...

Gracias por tus comentarios! Saludos

TRAJES DE BAÑO SOL DE ABRIL dijo...

Podrias al menos explicar que significan el 0;0;4;1 de la formula de LISTA y el -1;0;1;1 de IMAGEN?

Reynaldo Luque dijo...

Amigo por favor somos varios interezados, SUBE EL ARCHIVO EN EXCEL, POR FAVOR, MUCHAS GRACIAS, valiosisimo tu aporte.

Unknown dijo...

Me ocurre lo mismo que al resto. Cuando le doy a cambiar el nombre de la imagen, me dice "referencia inválida". No hay manera de corregirlo. Seria de utilidad que subieras el archivo. Gracias

Unknown dijo...

agradecería envío del archivo a capesidemadrid@gmail.com

Juan Pablo Torres dijo...

Hola amigo, el archivo esta subido! Tienes que probar varias veces, a veces es una cuestión de prueba-error. Quizás estés haciendo mal el procedimiento o una formula no este bien. El archivo esta subido en la zona de descargas. Sds

El semanario dijo...

Hola

Me podrías ayudar y decirme cual es el formato de imagen que soporta este ejercicio o si es indistinto

Juan Pablo Torres dijo...

Hola , cómo estas! El formato de imagen es BMP para el objeto.
Esperamos tus comentarios.
Saludos

Ana Carolina Bazurto R. dijo...

Podrias enviarlo a:
abazurto21@hotmail.com
Gracias!

Juan Pablo Torres dijo...

Hola! Cómo estas amiga! Gracias por comentar!
Revisa la zona de DESCARGAS.
Saludos

yrconne pinillo dijo...

hola como estas, podrias por favor subir un video con la formula y explicar un poco el paso a paso seria de mucha ayuda

Juan Pablo Torres dijo...

Hola, cómo estas! Gracias por escribirnos!
En cuanto a tu comentario, no sabemos que versión de Excel tienes pero hay otras formas más modernas de hacerlo. Si tienes esa versión de excel si lo podrás hacer.
Esperamos tus comentarios.
Saludos

alberto vazquez dijo...

Hola amigo necesito de tu ayuda tengo una base de datos que descarge pero la imagen no sale en el mismo tamaño al original ya verifique las formulas y estan bien no se si me puedas ayudar te paso mi correo albert_cyrus@hotmail.com o pasame el tuyo para enviarte la base de datos y me puedas ayudar.

Juan Pablo Torres dijo...

Hola amigo, cómo estas! Gracias por escribirnos!
En cuanto a tu consulta, hay una opción en el objeto de imagen que permite autoajustar al contenido. Revísalo.
Esperamos tus comentarios.
Saludos

marvin orihuela dijo...

este perro debe usar algún código porque en el campo donde busca el código y lo deja limpio la formula de buscar le debería arrojar error o siempre y cuando la formula de buscar este acompañado de =si.error(buscarv

Juan Pablo Torres dijo...

Hola amigo, cómo estas! Gracias por comentar!
En nuestros artículos creamos una plantilla para mostrar algo particular, luego la gente podrá con esas ideas quitar, agregar, etc. De acuerdo a sus necesidades.
Esperamos tus comentarios.
Saludos

MrArial72 dijo...

Me gustaría mucho que pongas este archivo en la parte de descargas, es que no se encuentra, muchas gracias, un saludo.

Juan Pablo Torres dijo...

Hola amigo, cómo estas! Gracias por comentar!
Este método es tan simple que no creímos necesario cargar la plantilla y además mostramos todo aquí.
Por otro lado es posible que para versiones nuevas no funcione. Sin embargo tendremos en cuenta tu comentario. Gracias.
Saludos