Estadísticas de Google Analytics

    generado por GADWP 

    Material registrado:

    Safe Creative #1709190281730

Insertar varias imágenes en varias hojas de Excel

Un caso muy interesante que me plantea el usuario de YouTube Gráfico La14. Se trata de preparar una macro que vaya a una carpeta o directorio que contiene imágenes y coloque cada una de esas imágenes en una hoja del archivo de Excel desde el que se está ejecutando la macro. El problema consiste, entonces, en insertar varias imágenes en varias hojas de Excel.

Voy a dar por supuesto que se trata de un trabajo para ejecutar una vez y nada más, por tanto no entraré en el tema de comprobar desde Excel cuantos archivos de imagen tiene el directorio y añadir alguna hoja si hace falta. Eso se puede hacer, pero rebasa los objetivos del problema relacionado con la consulta y nos obligaría a meternos en terrenos pantanosos que se desviarían mucho del objetivo principal. Si acaso, volveré a tratarlo si algún día hago un curso especializado en la manipulación de archivos con VBA, que alguna vez ya lo he pensado, pero hoy no toca. Por tanto, suponemos que hay dos tareas previas que tenemos que realizar antes de ejecutar la macro:

  1. Renombrar las imágenes del directorio con un criterio de fácil llamada desde VBA, a través de la concatenación de una parte de texto fija y una variable o incremental, por ejemplo: imagen1, imagen2,…, imagenN. Esto lo podemos hacer a mano, o mejor aún, podemos usar alguno de los programas que se pueden encargar de hacerlo por nosotros de forma automática. Para imágenes, yo os recomiendo FastStone, que además puede hacer otro montón de cosas interesantes con las imágenes.
  2. Añadir o quitar hojas del archivo de Excel para dejarlo exactamente con el mismo número de hojas que archivos de imagen tengamos, o al menos con tantas hojas como imágenes queramos insertar.

Cumplidos estos condicionantes, grabaremos primero una macro de la que tomaremos el código que nos ayudará a insertar las imágenes de la ruta del directorio en cuestión.

Después modificaremos ese código de forma que quede dentro de un bucle que recorra la colección de objetos tipo hoja del archivo e inserte cada una de las imágenes del directorio. El código usado es el siguiente:

Sub insertaimagenhoja()

i = 0

‘Ignorar el error por exceso de hojas

On Error Resume Next

‘Bucle que recorre la colección de hojas del libro activo

For Each hoja In ActiveWorkbook.Sheets

    i = i + 1

    ‘Carga de la ruta en variable qImagen

    qImagen = “C:\Trabajos\Dibujo\ImExcel\Imagen” & i & “.jpg”

    ‘Activación de la hoja en la que está el bucle

    hoja.Activate

    ‘Inserción de la imagen

    ActiveSheet.Pictures.Insert (qImagen)

Next hoja

End Sub

Y aquí está el video tutorial.

 

Comments

So empty here ... leave a comment!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Sidebar



Si continuas utilizando este sitio, significa que aceptas el uso de cookies. más información

Los ajustes de cookies de esta web están configurados para "permitir cookies" y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en "Aceptar" estarás dando tu consentimiento a esto.

Cerrar