Insertar una imagen con una macro

Insertar una imagen con una macro.

Veamos cómo podemos visualizar cada imagen que contiene un elemento, en un determinado listado, en una hoja de cálculo.

Lo primero que vamos a hacer es insertar un control de imagen.

30
 

¿Como pretendo obtener la fotografía de cada producto?

Tenemos una carpeta con el nombre imágenes, que comparte el mismo lugar que el archivo con el que estamos trabajando.

31
 

Si ingresamos en el directorio imágenes, tenemos las imágenes, y, noten que el nombre de cada imagen es el mismo que el elemento de la hoja de cálculo, eso será una ventaja importante.

32
 

Para que nos aparezca la imagen correspondiente a cada elemento en el control de imagen, una vez que lo seleccionemos, pues, haremos uso de la función FILA dentro de la fórmula de formato condicional que vamos a usar, y, que va a recibir el número de fila desde el código VBA que vamos a crear.

Voy a utilizar dos celdas, una me dará el número de fila, y, con la otra voy a obtener el nombre del producto. Voy a utilizar la celda G1 y G2. La celda G1, la voy a nombrar nFILA.

33
33

Ahora, seleccionamos el rango al cual le vamos a aplicar el formato condicional.

34
 

Creamos una nueva regla.

35
 
36
 

Vamos a elegir la última opción.

37
 

Para poder escribir una formula, que aplique el formato condicional.

Vamos a poner lo siguiente.

38
 

Que lo ponga del siguiente color.

39
 

Clic en Aceptar.

nFILA, no tiene aún valor asignado, así que, de momento, el formato condicional no funciona.

Vamos al editor VBA, donde escribiremos la rutina que haga funcionar todo.

Vamos a usar uso del objeto hoja1, en el desplegable de la izquierda, seleccionamos Worksheet, y, por defecto nos pone el evento

Selection_change. Esto nos ayudara a desplazarnos por las celdas mediante el parámetro Target, que representa la celda activa en todo momento. Target nos dará la ubicación del numero de la fila dependiendo donde tengamos la celda activa, por lo que escribiremos lo siguiente.

A nFILA, le vamos a asignar la fila seleccionada.

40
 

Con esta instrucción, le estamos diciendo que a la celda G1 se le asigna la ubicación de la fila activa.

Ahora, a la celda G2, vamos a darle un formato personalizado, para que coja el valor de la celda seleccionada.

Botón derecho en G2, seleccionamos Formato de Control, nos vamos a personalizado.

41
 

Y en Tipo ponemos ####, que significa que en la celda G2, solo se puede poner un máximo de 4 caracteres, un carácter por cada almohadilla.

En G2, pondremos la fórmula: Nfila-1, -1 porque el listado empieza en la celda A2.

Pondremos la siguiente instrucción.

42
 

La función INDICE, sirve para que, dentro de un rango, selecciona una fila y una columna, dándonos el valor que ocupa dicha celda.

En este caso, le estamos diciendo que dentro del rango A2:E17, se vaya a la fila, que es igual al valor de G1 – 1, y a la columna 1.

Ahora, vamos a escribir las líneas de código que harán que se inserte la imagen en el control de imagen. Pondremos la siguiente instrucción.

44
 

Con esta instrucción le estamos diciendo que el cuadro de imagen va a ser igual a la ruta que es igual a donde está el libro activo, en el directorio imágenes y cargue el fichero que es igual al valor de Xcodigo, con extensión .jpg.

Si ahora lo probamos, vemos que cuando pinchemos en un elemento aparecerá en el cuadro de imagen su foto correspondiente.

Con esto, hemos conseguido que cuando se produzca un cambio en la selección, cargue la nueva imagen.

miguel angel franco gafrcia

Excel basico, medio y avanzado

Contenidos que te pueden interesar
Este sitio usa cookies para personalizar el contenido y los anuncios, ofrecer funciones de redes sociales y analizar el tráfico. Ninguna cookie será instalada a menos que se desplace exprésamente más de 400px. Leer nuestra Política de Privacidad y Política de Cookies. Las acepto | No quiero aprender cursos gratis. Sácame