Saltar al contenido

Borrar imágenes con Excel VBA

Si hallas alguna incompatibilidad con tu código o proyecto, recuerda probar siempre en un ambiente de testing antes subir el código al trabajo final.

Solución:

La forma más sencilla:

Activesheet.Pictures.Delete

o

Activesheet.Shapes.Delete

Dependiendo del tipo de objeto que sea tu imagen.

Elimina todas las imágenes con mayor eficiencia que iterando (en bucle) y eliminándolas una por una.

Dim shape As Excel.shape

For Each shape In ActiveSheet.Shapes
        shape.Delete
Next

Para eliminar todas las imágenes u otras formas, puede iterarlas todas y verificar el tipo:

Dim shape As Excel.shape

For Each shape In ActiveSheet.Shapes

    Select Case shape.Type
        Case msoPicture, msoMedia, msoShapeTypeMixed, msoOLEControlObject, msoAutoShape
            shape.Delete
        Case Else
            'Do nothing
    End Select
Next

En mi caso, este código fue útil porque mi hoja estaba llena de formas transparentes de tipo msoAutoShape que pensé que eran imágenes. Entonces, Activesheet.Pictures.Delete no funcionaba.

Puede encontrar todos los tipos de formas en este enlace: http://msdn.microsoft.com/en-us/library/aa432678(v=office.12).aspx

Acuérdate de que te brindamos la opción de agregar una reseña si te fue preciso.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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