Macro para borrar libro excel

Tengo un libro excel con varias hojas, y en ellas guardo información distinta en cada una.

¿Es posibe crear una macro que permita borrar todo el libro excepto las formulas existentes y las macros de ese libro? Algo que me permita borrar tal libro y guardarlo como libro nuevo (con otro nombre) para dejar el anterior como "registro antiguo".

Esto lo hago solo una vez al año, pero es mucho trabajo considerando la cantidad de hojas. Lo que hago hasta ahora es hacer una copia del libro actual (archivo excel guardado en carpeta X) y en esa copia borro todos los datos (columna a columna) para poder usarlo nuevamente.

Respuesta
1

¿Las columnas de las hojas que tienes que borrar son siempre las mismas?

1 respuesta más de otro experto

Respuesta
2

Partiendo de la base de que las celdas con fórmulas estarán bloqueadas, es posible recorrerlas limpiando solo aquellas 'no bloqueadas'.

Por ejemplo:

Sub limpiaHojas()
    For Each celdita In Range(rgo)
        If Not celdita.Locked Then
            celdita.Select
            Selection = ""
        End If
    Next celdita
End Sub

Aquí ya tenía asignado a la variable 'rgo' el total del rango utilizado en 1 hoja, para que recorra solo el rango en uso.

Con otro bucle se pueden recorrer todas las hojas del libro... le dejo la tarea a Gregori que le invadí su respuesta ;)

Gracias Gregori y Elsa por sus respuestas.

Las hojas tienen todas informacion diferente, de hecho son completamente distintas entre si.

A falta de respuesta de Gregori, aquí va la macro solicitada.

Recorre todas las hojas y limpia las cedas NO bloqueadas. Estoy considerando que las celdas con fórmulas y textos fijos, como títulos, estarán bloqueadas.

Sub limpiaLibro()
'x Elsamatilde
'borra contenidos de celdas NO bloqueadas
'recorre cada hoja del libro
For Each Sh In Sheets
    'se define el rango ocupado en la hoja 'sh'
    rgo = ActiveSheet.UsedRange.Address
    For Each celdita In Range(rgo)
        If Not celdita.Locked Then
            celdita.ClearContents
        End If
    Next celdita
Next Sh
End Sub

Sdos y no olvides valorar esta respuesta (Excelente o buena).

¡Gracias nuevamente Elsa! 

La macro funciona muy bien. La he probado en otro libro, no en el que iba a implementarla en un principio, porque no he tenido mucho tiempo, pero me ha servido mucho. 

Muchísimas gracias! Saludos!!!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas