Las personas utilizan Excel para almacenar diversos tipos de información y en muchas ocasiones dicha información necesita tener una imagen asociada por lo que se hace necesario crear un catálogo de imágenes en Excel que pueda estar vinculado a nuestra base de datos.
Crear el catálogo de imágenes en Excel
Existen diversos métodos para crear un catálogo de imágenes en Excel. Algunos usuarios de Excel prefieren implementar el catálogo incrustando la imagen asociada a cada registro dentro de la hoja de Excel. Sin embargo, si tienes una base de datos con muchos registros terminarás con un libro de Excel excesivamente grande por el tamaño de las imágenes lo cual dificultará su manejo.
Siempre recomiendo utilizar un método con VBA porque eso nos permite dejar los archivos de las imágenes en una carpeta local del equipo y solamente cargar las imágenes conforme son utilizadas dentro de nuestra base de datos de Excel.
La clave para crear el catálogo de imágenes
La clave para tener un catálogo de imágenes en Excel es tener una hoja donde se relacione la “llave primaria” de nuestros registros con la imagen correspondiente. Si no estás familiarizado con el término “llave primaria” te recomiendo leer el artículo Diseño de bases de datos.
En el siguiente ejemplo podrás observar que tengo una lista de 5 películas en Blu-ray y cada una de ellas tiene una clave de producto única.
Las imágenes de cada producto estarán guardadas dentro de un directorio llamada “imagenes” y tendrán el mismo nombre que el código de producto al que pertenecen. El tener las imágenes con el mismo nombre que la clave del producto facilitará su manipulación en gran manera.
Insertar un Control de imagen
Para poder observar la imagen de cara producto insertaré un Control de imagen que es un tipo de control ActiveX. Para hacerlo debo ir a la ficha Programador y en el botón Insertar seleccionar el control adecuado.
El Control de imagen se verá de la siguiente manera:
Crear la macro para mostrar imagen
Para este ejemplo haré que la imagen se muestre al momento de seleccionar una celda de la columna Código y para ello utilizaré el evento Worksheet_SelectionChange. Haz clic derecho sobre el nombre de la hoja y selecciona la opción Ver código y dentro del Editor de Visual Basic selecciona el evento SelectionChange. A continuación podrás ver el código VBA para dicho evento:
La parte importante de este código es que cuando seleccionamos cualquier celda dentro del rango A2:A6 se modificará la propiedad Picture del objeto Image1. La instrucción LoadPicture es responsable de cargar la imagen almacenada en nuestro disco duro local:
LoadPicture(ActiveWorkbook.Path & "\imagenes\" & Target & ".jpg")
La instrucción ActiveWorkbook.Path devuelve el directorio actual del archivo Excel y le concatena el directorio “imagenes” que es donde se encuentran nuestros archivos. Posteriormente se concatena la variable Target que contiene el valor de la celda seleccionada y se agrega la extensión de lo archivos de imagen que para nuestro ejemplo son archivos JPG.
Probando el catálogo de imágenes en Excel
A continuación probaré que la macro recién creada funciona correctamente pata nuestro catálogo de imágenes en Excel:
Existen variantes sobre este método y seguramente en otro artículo tendremos la oportunidad de explorar diferentes métodos para mostrar las imágenes asociadas a un registro de nuestra base de datos en Excel. Para continuar con las pruebas puedes descargar el libro de trabajo utilizado junto con las imágenes de ejemplo.
Artículos relacionados
Introducción a las macros