Como limpiar varias hoja de un libro de Excel, de forma que me deje solo los encabezados

Tengo un libro de excel con 12 hojas pero 9 de ellas tienen el encabezado en la línea 2 y otras en la 3, y quiero vaciar el libro de forma que los encabezados no me los borre, es para a continuación ejecutar una macro que me pega otros datos

2

2 Respuestas

4.543.150 pts. Sancho, si los perros ladran ...

Te anexo la macro, agrega los nombres de las hojas con encabezado en fila 2 y en fila 3.

Si alguna hoja no quieres que se borren datos, simplemente no la agregues en ninguna de las 2 listas.

Sub Limpiar_Hojas()
'Por.Dante Amor
    For Each h In Sheets
        Select Case h.Name
            'hojas con encabezado en fila 2
            Case "Hoja1", "Hoja2", "Hoja3"  'agregar las demás hojas entre comillas y separadas por coma
                h.Rows("3:" & Rows.Count).ClearContents
            'hojas con encabezado en fila 3
            Case "Datos", "Reporte", "Resumen"
                h.Rows("4:" & Rows.Count).ClearContents
        End Select
    Next
    MsgBox "Limpieza terminada"
End Sub

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

¡Gracias! 

Genial!

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. 
181.950 pts. Si de mis mayores gustos, mis disgustos han nacido,...

Trata con esta macro solo cambia B2 por la celda donde comienzan tus datos.

Sub borrar()

For Each hoja In Worksheets
Set h = Worksheets(hoja.Name)
Set datos = h.Range("b2").CurrentRegion

With datos
filas = .Rows.Count
If filas = 1 Then End
contar = WorksheetFunction.CountBlank(.Rows(1))
If contar = 0 Then .Rows(2).Resize(filas - 1).Clear
If contar > 0 Then .Rows(3).Resize(filas - 1).Clear
End With
Next
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas