Eliminar filas

30/08/2004 - 12:26 por Carlos V | Informe spam
He generado una hoja en Excel 2000 a partir de una página web, pero se han
creado miles de filas en blanco entre las filas que sí contienen datos. ¿Hay
algún modo rápido de eliminar esas filas en blanco? Gracias.

Carlos V

Preguntas similare

Leer las respuestas

#1 Fernando Arroyo
30/08/2004 - 13:27 | Informe spam
"Carlos V" escribió en el mensaje news:
He generado una hoja en Excel 2000 a partir de una página web, pero se han
creado miles de filas en blanco entre las filas que sí contienen datos. ¿Hay
algún modo rápido de eliminar esas filas en blanco? Gracias.

Carlos V





Prueba con el siguiente código:

Sub EliminarFilasEnBlanco()
Dim strC As String, lngFila As Long

With Worksheets("Hoja1") 'Nombre de la hoja
For lngFila = 1 To .UsedRange.Rows.Count
If WorksheetFunction.CountA(.Rows(lngFila)) = 0 Then strC = strC & lngFila & ":" & lngFila & ","
Next lngFila
Application.ScreenUpdating = False
.Range(Left(strC, Len(strC) - 1)).Delete
Application.ScreenUpdating = True
End With
End Sub


Pero pruébalo en una copia del libro, no vaya a ser que no haga lo que necesitas y "la jeringuemos" :-)
Un saludo.


Fernando Arroyo
MS MVP - Excel
Respuesta Responder a este mensaje
#2 Carlos V
30/08/2004 - 15:13 | Informe spam
Muchas gracias Fernando, me da error en la línea

.Range(Left(strC, Len(strC) - 1)).Delete

Carlos V

"Fernando Arroyo" escribió en el mensaje
news:%
"Carlos V" escribió en el mensaje
news:
He generado una hoja en Excel 2000 a partir de una página web, pero se han
creado miles de filas en blanco entre las filas que sí contienen datos.


¿Hay
algún modo rápido de eliminar esas filas en blanco? Gracias.

Carlos V





Prueba con el siguiente código:

Sub EliminarFilasEnBlanco()
Dim strC As String, lngFila As Long

With Worksheets("Hoja1") 'Nombre de la hoja
For lngFila = 1 To .UsedRange.Rows.Count
If WorksheetFunction.CountA(.Rows(lngFila)) = 0 Then strC = strC
& lngFila & ":" & lngFila & ","
Next lngFila
Application.ScreenUpdating = False
.Range(Left(strC, Len(strC) - 1)).Delete
Application.ScreenUpdating = True
End With
End Sub


Pero pruébalo en una copia del libro, no vaya a ser que no haga lo que
necesitas y "la jeringuemos" :-)
Un saludo.


Fernando Arroyo
MS MVP - Excel
Respuesta Responder a este mensaje
#3 Fernando Arroyo
31/08/2004 - 11:37 | Informe spam
El código no funcionará si las filas a eliminar son muchas. En este caso tendrías que usar el siguiente (que es más lento):

Sub EliminarFilasEnBlanco()
Dim lngFila As Long

Application.ScreenUpdating = False
With Worksheets("Hoja1") 'Nombre de la hoja
For lngFila = .UsedRange.Rows.Count To 1 Step -1
If WorksheetFunction.CountA(.Rows(lngFila)) = 0 Then .Rows(lngFila).Delete
Next lngFila
End With
Application.ScreenUpdating = True
End Sub


Un saludo.


Fernando Arroyo
MS MVP - Excel


"Carlos V" escribió en el mensaje news:
Muchas gracias Fernando, me da error en la línea

.Range(Left(strC, Len(strC) - 1)).Delete

Carlos V

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida