Ir al contenido principal

macros: galeria de imagenes en excel

A esta consulta me la realizó hace algún tiempo atrás un tal Federico, quien vía mail me preguntó la forma de mostrar imágenes en Excel. Trabaja en una casa de materiales para la construcción, y su idea era implementar una lista de precios que a su vez mostrara una foto del producto seleccionado.
Voy a aclarar que existe un método que no utiliza macros, pero en verdad es muy difícil de realizar y, sobre todo mantener, ya que las imágenes involucradas deben tener exactamente el mismo tamaño de las celdas contenedoras, y otras cuestiones que demandan mucho tiempo al desarrollador.
Visto lo expuesto, le propuse la siguiente solución, basada en VBA y la utilización de uno de sus controles ActiveX: el control Image.

[+/-] Ver el resto / Ocultar

Comentarios

  1. buenas tarde;

    sera que me pude colaborar con lo siguente :
    tengo 3 criterios para generar un recargo, estos recargos depende de un rango de fecha asi:

    de 03/01/2011 al 18/01/2011 =0%
    de 19/01/2011 al 26/01/2011 =7%
    de 27/01/2011 al 04/02/2011 =12%

    si tengo una fecha de pago me debe gererar el recargo de acuerdo a los rangos anteriores.ejemplo

    fecha pago = 29/01/2011 recargo = 12%

    le agradezco la ayuda

    ResponderEliminar
  2. estimado lector: te dejo el link a la entrada que levanté en base a tu (muy interesante) consulta: http://damianexcel.blogspot.com/2011/06/fijar-criterios-de-acuerdo-un-rango-de.html

    espero haber comprendido bien el problema planteado y que la solución te sirva. avisame como te fue.
    saludos.

    ResponderEliminar
  3. oye que criterios debe llevar la macro para ejecutarse, porque no veo como ejecutarla ni como hacerla

    ResponderEliminar
  4. Hola: el evento se "dispara" al abrir el libro, el còdigo se halla dentro de Workbook_Open().
    Quizás tengas la seguridad en macros muy alta y por ello no corre.
    Te vas al menú "Herramientas/macros/seguridad" y allí seleccionas la opción "medio", mediante la cual un mensaje (al abrir el archivo) te avisa que existen macros, dándote la posibilidad de aceptar o no la ejecución de las mismas. Luego cierras Excel y lo vuelves a abrir.
    Listo, debería funcionar sin problemas

    ResponderEliminar
  5. Y si en ese directorio tuviese exactamente 40 imágenes que quisiera colocar en sus respectivos controles de imágenes, ¿cómo sería el ciclo?

    ResponderEliminar
  6. Hola Puma750: buena esa pregunta, por que nos plantea otro tipo de trabajo. En el ejemplo que doy solo existe un control para todas las imágenes, vos necesitarías colocar un control para cada imagen.
    Levantaré una entrada al respecto, ya que debo explicar otras cosas. Apenas la tenga coloco aquí el link. Gracias x tu mensaje.

    ResponderEliminar
  7. el link a la entrada para colocar 40 imágenes dentro de una planilla:
    http://damianexcel.blogspot.com/2012/02/cargar-varias-imagenes-en-una-hoja-de.html

    ResponderEliminar
  8. Excelente nota. Es la forma más sencilla que he visto usando código de macros. Felicitaciones....


    http://mbexcel.blogspot.com/

    ResponderEliminar
  9. Hola Damian. Me anduvo fenómeno, pero después lo copié y pegué para mostrar Dos imagenes independientes con esta forma, hice las modificaciones que creí necesarias y no me anda. Cómo crees que puede arreglarse?
    Muy buen blog!

    ResponderEliminar
  10. Pablo: vas a tener que enviarme el archivo a la dirección de correo que aparece al pié del formulario... necesito revisar el código para ver que está mal programado.
    Avisame por este medio cuando lo hagas.
    Un abrazo.

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

funciones: convertir numeros a letras con excel

En realidad hace tiempo que vienen consultándome sobre esto... quizás cinco o seis años . Debe ser una de las funciones mas buscadas de Excel, por lejos: la posibilidad de escribir: 1.534,63 y que en una celda aparezca magicamente "un mil quinientos treinta y cuatro c/15/100". Aquí les dejo una solución, basada en funciones , sin utilizar macros, la cual preparé exclusivamente para este Blog. A pesar de los millones de usuarios que requieren esta herramienta, no viene incorporada en Excel, debemos armarla nosotros mismos .  Luego de la imagen irá la explicación de como llegué a lograr esto, dado que es un proceso medianamente complejo , que utiliza tres o cuatro funciones básicas y requiere de varios pasos. así quedará nuestra planilla y siempre devolverá en letras el valor que ingresemos en A1 [+/-] Ver el resto / Ocultar Desde ya aclaro: esta no es " la forma " de hacerlo, simplemente es una mas, evitando el uso de macros. Sobre esta base, comencemos: 1) El núme

macros: como enviar mails desde Excel (vba)

Un gran amigo "on-line", Johan Moreno, de Colombia , me hizo llegar la inquietud de cómo enviar mails desde Excel . Si bien contaba con algunas líneas de código sobre el particular, decidí retomar mi ejemplo y adaptarlo mejor a las circunstancias. Hace unos minutos termino de remitirle un correo con la solución a Johan... desde Excel y con un archivo adjunto, mismo que transcribo a continuación para ayudar a todos con esta tarea. Veamos primero las dos formas principales de enviar mails: mediante Outlook o nuestro Web Mail ( yahoo, gmail, hotmail, etc, etc ) No soy usuario de Outlook en lo absoluto: no confío en los agujeros de seguridad que continuamente aparecen y, por otro lado, t eniendo a mi alcance una herramienta tan poderosa (y gratuita) como Gmail, la cual ahora también permite sincronizar los mensaje con la Pc para verlos offline (deben activarlo en "google labs") ... no creo que me haga usuario ni hoy ni mañana. Igualmente mas adelante daré una solució

buscarv con varios resultados

Es de las preguntas mas recurrentes que he tenido: ¿se puede lograr que la función BUSCARV() devuelva varios resultados? Si recordamos el uso de esta función, sabremos que la misma buscar en valor en el rango especificado, retornando un solo resultado. Si en la tabla tenermos varios registros iguales BUSCARV() solo nos devolverá el primero de ellos, omitiendo el resto. Entonces ¿se puede? Bueno, aplicando otra técnica sencilla que se me ocurrió al intentar solucionar el planteamiento de un lector... si, puedo hacerlo.... pero sin usar BUSCARV(). la idea es que coloquemos en E1 el código del producto a buscar y a partir de E2 nos devuelva todas las coincidencias de la tabla. [+/-] Ver el resto / Ocultar Vamos a necesitar una columna "auxiliar" para llevar a buen término este proyecto. Con macros el tema sería mas sencillo, pero aquí la cuestión es resolverlo con las funciones de Excel, sin VBA. Paso a paso: Como primer medida chequeamos que valores de la columna A coincide co