Eliminar filas vacias

12/04/2005 - 22:29 por Xames | Informe spam
Como puedo hacer para que me busque dentro de una tabla todas las filas
vacias y me las elimine?

Gracias

Preguntas similare

Leer las respuestas

#1 KL
12/04/2005 - 23:41 | Informe spam
Hola Xames,

Algunas formas de hacerlo:

1) Manual
- Selecciona todos los datos en la primera columna (Supongo q las filas con
datos no pueden tener la primera celda en blanco. Si no es asi, busca la
columna q responda a esta condicion).
- Ve al menu Edicion>Ir a...
- Pulsa el boton Especial
- Marca la cuarta opcion desde abajo a mano izquierda (creo q dice blancos
o vacios) y pulsa OK
- Ve al menu Edicion>Eliminar..., selecciona Fila Entera y pulsa Aceptar.

2) Macro
- Abre el fichero y activa la hoja con el rango a limpiar.
- Haz clic derecho sobre el nombre de la hoja q aparece en una de las
pestanas en la parte inferior izquierda de la ventana de Excel.
- Del menu contextual q aparecera a continuacion selecciona "Ver codigo" y
se
abrira el Editor VBA.
- En la ventana mas grande a la derecha copia el siguiente codigo:

'--Inicio Codigo
Sub BorrarFilasVacias()
uFila = ActiveSheet.Cells(65536, 1).End(xlUp).Row
Application.ScreenUpdating = False
For Fila = uFila To 2 Step -1
If Application.CountA(Rows(Fila)) = 0 Then Rows(Fila).Delete
Next Fila
End Sub
'--Fin Codigo

o tambien puedes especificar el rango en el cual eliminar las filas vacias,
p.ej.:

'--Inicio Codigo
Sub BorrarFilasVacias()
With ActiveSheet.Range("A1:D100")
pFila=.Row
uFila = pFila+.Rows.Count-1
End With
Application.ScreenUpdating = False
For Fila = uFila To pFila Step -1
If Application.CountA(Rows(Fila)) = 0 Then Rows(Fila).Delete
Next Fila
End Sub
'--Fin Codigo

- Pulsa Alt+F11 para volver a la hoja.
- Pulsa Alt+F8 y haz doble clic sobre "BorrarFilasVacias"

Saludos,
KL


"Xames" wrote in message
news:%
Como puedo hacer para que me busque dentro de una tabla todas las filas
vacias y me las elimine?

Gracias

Respuesta Responder a este mensaje
#2 Willi
13/04/2005 - 01:25 | Informe spam
Puedes probar esta macro y me cuentas como te va:

Option Explicit

Sub QuitarFilasVacias()
'
' QuitarFilasVacias Macro
' Macro creada el 12/04/2005 por William Posada C.
'

'
Dim Fila As Integer

Application.ScreenUpdating = False
For Fila = ActiveCell.SpecialCells(xlLastCell).Row To 1 Step -1
If Cells(Fila, 1).Value = "" And Cells(Fila, 1).End(xlToRight).Column = 256 Then
Cells(Fila, 1).EntireRow.Delete
End If
Next
Application.ScreenUpdating = True
End Sub


"Xames" escribió en el mensaje news:%
Como puedo hacer para que me busque dentro de una tabla todas las filas vacias y me las elimine?

Gracias

Respuesta Responder a este mensaje
#3 Willi
13/04/2005 - 01:48 | Informe spam
Si mezclamos el anterior y el de KL, creo que queda mejor

Sub QuitarFilasVacias()

Application.ScreenUpdating = False
For Fila = ActiveCell.SpecialCells(xlLastCell).Row To 1 Step -1
If Application.CountA(Rows(Fila)) = 0 Then Rows(Fila).Delete
Next
End Sub

"Xames" escribió en el mensaje news:%
Como puedo hacer para que me busque dentro de una tabla todas las filas vacias y me las elimine?

Gracias

Respuesta Responder a este mensaje
#4 KL
13/04/2005 - 02:32 | Informe spam
Hola chicos,

Yo personalmente no recomendaria el uso de SpecialCells(xlLastCell) por dos
razones fundamentales:

1) si hay formatos de por medio, se devolvera la ultima celda que tiene
datos o la que tiene algun formato dostinto al formato por defecto.

2) el fallo conocido de la propiedad .UsedRange y de
SpecialCells(xlLastCell) en actualizarse al eliminar filas en la hoja.

Saludos,
KL


"" wrote in message
news:%
Si mezclamos el anterior y el de KL, creo que queda mejor

Sub QuitarFilasVacias()

Application.ScreenUpdating = False
For Fila = ActiveCell.SpecialCells(xlLastCell).Row To 1 Step -1
If Application.CountA(Rows(Fila)) = 0 Then Rows(Fila).Delete
Next
End Sub

"Xames" escribió en el mensaje
news:%
Como puedo hacer para que me busque dentro de una tabla todas las filas
vacias y me las elimine?

Gracias





Respuesta Responder a este mensaje
#5 Willi
13/04/2005 - 03:35 | Informe spam
Con lo que siempre tendrás la última fila o una posterior. Lo que ocurre con tu rutina es que si en la primera columna hay blancos,
pero en las otra columnas hay datos y filas vacías estas no se eliminarán ya que solo busca la última fila de la columna uno;
acambio de eso prefiero eliminar algunas filas vacías innecesarias para que la rutina siempre funcione, claro que son mis gustos.
Chao



"KL" escribió en el mensaje news:
Hola chicos,

Yo personalmente no recomendaria el uso de SpecialCells(xlLastCell) por dos razones fundamentales:

1) si hay formatos de por medio, se devolvera la ultima celda que tiene datos o la que tiene algun formato dostinto al formato por
defecto.

2) el fallo conocido de la propiedad .UsedRange y de SpecialCells(xlLastCell) en actualizarse al eliminar filas en la hoja.

Saludos,
KL


"" wrote in message news:%
Si mezclamos el anterior y el de KL, creo que queda mejor

Sub QuitarFilasVacias()

Application.ScreenUpdating = False
For Fila = ActiveCell.SpecialCells(xlLastCell).Row To 1 Step -1
If Application.CountA(Rows(Fila)) = 0 Then Rows(Fila).Delete
Next
End Sub

"Xames" escribió en el mensaje news:%
Como puedo hacer para que me busque dentro de una tabla todas las filas vacias y me las elimine?

Gracias









Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida