Video tutorial eliminar objetos y formas de una hoja de Excel
En el video tutorial que en esta ocasión les comparto, vemos una macro escrita en el momento para eliminar todos los objetos que puede haber en una hoja dé cálculo, ya sean gráficos, botones o formas.
Código utilizado en el video
Sub EliminarObjetos() 'Definimos variables Dim Cuenta As Integer Dim Objeto As Object 'Inicializamos la variable Cuenta Cuenta = 0 'Corremos un ciclo para eliminar todas las formas de la hoja de cálculo For Each Objeto In ActiveSheet.Shapes Objeto.Delete Cuenta = Cuenta + 1 Next Objeto 'Mostramos mensaje confirmando cuántas formas fueron eliminadas MsgBox Cuenta & " objetos eliminados.", vbInformation, "Hojas" End Sub
Video tutorial
Estimado master de esta pagina web:
le estoy eternamente agradecido por el apoyo brindado kon las sugerencias ke me dio ud hace dias via korreo (akel donde la hoja de excel se ponia demasiado lenta), kreame ke me ha dejado ud muy sorprendido al darme esta solucion.
Dios lo bendiga, y le de muchisimo mas ya ke es usted una persona muy sabia…..
Gracias!
Que tal.
Me alegra que te haya servido la solución.
Y recuerda “una hoja de cálculo pesa por lo que no ves”.
Amigo Sergio, mis respectos a su sabiduría.
Quiero hacerle referencia a que tengo unas macros que trabajan en conjunto para eliminar espacios generados por el carácter 160, la basura que que Excel va creando cuando uno esta escribiendo en celdas y luego cambia de ideas y así va eliminando datos de celdas que luego no usa y esa basura queda además de otras cosas.
Si me permite pedirle su mail par enviárselo, para que usted vea (revise y corrija) para que estas macros en conjunto, no me eliminen los colores de fondo de celdas ni imágenes, ect.En el libro esta la hoja4 donde explico con detalle lo que hace y lo que pretendo, además de la WEB donde lo baje hace años.
Mi mail es joaely7@yahoo.es.
Agradecido de antemano
Si tienes oportunidad, mejor compártemelo por Dropbox o Skydrive, o el servicio en la nube que uses.
Aquí lo tienes
http://depositfiles.org/files/9x8yfmn40
En la hoja 4 está toda exposición de lo necesario
Te comento sobre varios puntos.
Para eliminar todos las celdas vacías que no tengan formato ni formas, te recomiendo ver el complemento http://www.microsoft.com/en-us/download/details.aspx?id=21649
Para la cuestión de no tener que desproteger y volver a proteger las hojas, te recomiendo hacer una protección de la interface del usuario http://blogs.itpro.es/exceleinfo/2011/06/08/modificar-celdas-sin-desprotegerlas/
Si desproteger para poder hacer la limpieza y volver a protegerlas.
Lo de eliminar las celdas vacias no, limpiarlas si que es el fundamento de la(s) macro(s) pienso que para eliminar las celdas los colores también irían tras esas celdas eliminadas yeso no es lo pretendido
La macro intenta crear una barra de herramienta.
La macro que te servirá se llama ClearExcessRowsAndColumns. Búscala dentro del código del complemento.
Voy y vengo a editar
Hola,
trate de usar su macho y me da un error 438 en un modulo, luego en una hoja y nada. si es posible decirme que hacer.
Sub ElinarObjetos()
Dim Cuenta As
Integer
Dim Objeto As Object
Cuenta = 0
For Each Objeto In ActiveSheet.Shape
Objeto.Delete
Cuenta = Cuenta + 1
Next Objeto
MsgBox Cuenta & “Objetos
eliminado. “, vbInformation, “Objetos Eliminados”
End Sub
Que tal.
En la línea a continuación le faltaba una letra ‘s’ a la palabra Shape.
For Each Objeto In ActiveSheet.Shapes
Hola,
Gracias mil, todo funcionó correctamente y como dice tu video.
Hola Sergio.
Tengo un problema similar, pero sólo quiero borrar los objetos de un rango de celdas, en concreto E1:G9 y no doy con la solución para elimnarlo. ¿Podrías ayudarme? Gracias mil
Hola Virginia.
Estate atenta del Blog, ya que en estos días publicaré un artículo referente a tu consulta.
Ya estás suscrita al Blog ?
Hoja Sergio
Ahora sí que estoy registrada…jjjj
Encontré una solución provisional bastante cutre, que pasaba por buscar uno a uno el número que el programa asignaba a cada objeto, y borrarlos luego con un bucle y una condición. Esto funciona, mientras no añada más objetos y el programa les cambie la numeración, así que estaré atenta a tu respuesta
Muchas gracias por todo