Macro limpiar Hojas

Necesito una macro que me permita borrar todo el contenido de varias hojas de excel en un mismo libro. En mi libro las 4 primeras hojas son fijas (no deseo borrarlas), pero de ahí en adelante son hojas de reportes que irán variando, por eso necesito borrarlas cada vez que inicie un nuevo reporte. Estoy usando este bucle pero se cuelga al llegar a la ultima hoja
Do While ActiveCell.Select <> Empty
Cells.Select
Selection.Delete Shift:=xlUp
Range("A1").Select
ActiveSheet.Next.Select
Range("A1").Select
Loop
Como puedo hacer para que funcione correctamente.

1 Respuesta

Respuesta
1
Si te aseguras de que la macro empezará a correr desde la 5ta hoja, así quedaría tu rutina ajustada:
Sub borrarHojas()
On Error GoTo salgo
Do While ActiveCell.Select <> Empty
Cells.Select
Selection.Delete Shift:=xlUp
Range("A1").Select
ActiveSheet.Next.Select
Range("A1").Select
Loop
Exit Sub
salgo:

End Sub
Otro método más seguro para no borrar accidentalmente hojas no deseadas, es este otro bucle:
For each sh in ActiveWorkbook.Sheets
if sh.name <> "Hoja1" and sh.name <> "Hoja2" and sh.name <> "Hoja3" then
sh.select
Cells.Select
Selection.Delete Shift:=xlUp
end if
next sh
** En mi manual 400MacrosPlus encontrarás 1 cap con ejemplos dedicado exclusivamente a todos los tipos de bucles
http

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas