Saltar al contenido principal

¿Cómo filtrar una lista y eliminar el resto de filas ocultas o visibles en Excel?

Para una lista filtrada, es posible que deba eliminar las filas ocultas o visibles para conservar solo los datos útiles. En este artículo, le mostraremos métodos para eliminar el resto de filas ocultas o visibles de una lista filtrada en Excel.

Eliminar filas ocultas en la hoja de trabajo activa con código VBA
Eliminar filas visibles de la lista filtrada seleccionando todas las celdas visibles
Elimine fácilmente filas ocultas o visibles de la lista filtrada con Kutools para Excel


Eliminar filas ocultas en la hoja de trabajo activa con código VBA

Esta sección le mostrará el código VBA para eliminar filas ocultas en la hoja activa. Haz lo siguiente.

1. Active la hoja de trabajo que necesita para eliminar filas ocultas, presione otro + F11 teclas simultáneamente para abrir el Microsoft Visual Basic para aplicaciones ventana.

2. En la ventana de Microsoft Visual Basic para Aplicaciones, haga clic en recuadro > Módulo. Y luego copie y pegue el siguiente código VBA en la ventana del Módulo.

Código de VBA: eliminar filas ocultas

Sub RemoveHiddenRows()
	Dim xRow As Range
	Dim xRg As Range
	Dim xRows As Range
	On Error Resume Next
	Set xRows = Intersect(ActiveSheet.Range("A:A").EntireRow, ActiveSheet.UsedRange)
	If xRows Is Nothing Then Exit Sub
		For Each xRow In xRows.Columns(1).Cells
			If xRow.EntireRow.Hidden Then
				If xRg Is Nothing Then
					Set xRg = xRow
				Else
					Set xRg = Union(xRg, xRow)
				End If
			End If
		Next
		If Not xRg Is Nothing Then
			MsgBox xRg.Count & " hidden rows have been deleted", , "Kutools for Excel"
			xRg.EntireRow.Delete
		Else
			MsgBox "No hidden rows found", , "Kutools for Excel"
		End If
	End Sub

3. presione el F5 clave para ejecutar el código. Si hay filas ocultas en la hoja activa, después de ejecutar el código, aparecerá un cuadro de diálogo para indicarle cuántas filas ocultas se han eliminado. Haga clic en el OK para eliminar las filas ocultas. Ver captura de pantalla:

doc borrar resto 1

De lo contrario, obtendrá el siguiente cuadro de diálogo después de ejecutar el código.

doc borrar resto 1

Note: el código VBA anterior no solo puede eliminar filas ocultas de la lista filtrada, sino también eliminar filas ocultas que ha ocultado manualmente antes.


Eliminar filas visibles de la lista filtrada con la función de seleccionar todas las celdas visibles

Para eliminar filas visibles de la lista filtrada, haga lo siguiente.

1. Seleccione todas las filas filtradas y presione F5 clave para abrir el Para ir cuadro de diálogo, luego haga clic en el Especiales botón. Ver captura de pantalla:

doc borrar resto 1

2. En el Ir a Especial cuadro de diálogo, verifique Solo celdas visibles opción, y luego haga clic en la OK del botón.

doc borrar resto 1

3. Ahora todas las filas visibles están seleccionadas, haga clic con el botón derecho en la selección y luego haga clic en Eliminar filas.

doc borrar resto 1

Hasta ahora, todas las filas visibles se eliminan de la lista filtrada.


Elimine fácilmente filas ocultas o visibles de la lista filtrada con Kutools para Excel

Los dos métodos anteriores pueden no ser las soluciones deseadas para muchos usuarios de Excel, aquí le presentamos una herramienta útil. Con la Eliminar filas y columnas ocultas (visibles) utilidad de Kutools for Excel, puede eliminar fácilmente las filas ocultas en el rango / hojas seleccionados, la hoja activa o todas las hojas de trabajo en Excel.

Antes de aplicar Kutools for Excel, Por favor descargarlo e instalarlo en primer lugar.

1. Si solo desea eliminar filas ocultas o visibles de una lista filtrada, seleccione el rango filtrado manualmente y luego haga clic en Kutools > Borrar > Eliminar filas y columnas ocultas (visibles). Ver captura de pantalla:

2. En el Eliminar filas y columnas ocultas (visibles) cuadro de diálogo, mantenga el En rango seleccionado seleccionado en el Pase a ver lista desplegable (puede seleccionar otras opciones que necesite), marque el filas opción en el Eliminar tipo sección, y en la Tipo detallado sección, verificar Filas visibles or Filas ocultas opción que necesite. Y finalmente haga clic en el OK del botón.

3. A continuación, aparece un cuadro de diálogo para indicarle cuántas filas se han eliminado, haga clic en el OK del botón.

  Si desea tener una prueba gratuita (30 días) de esta utilidad, haga clic para descargarloy luego vaya a aplicar la operación según los pasos anteriores.


Elimine filas ocultas o visibles de la lista filtrada con Kutools para Excel

Las mejores herramientas de productividad de oficina

🤖 Asistente de IA de Kutools: Revolucionar el análisis de datos basado en: Ejecución inteligente   |  Generar codigo  |  Crear fórmulas personalizadas  |  Analizar datos y generar gráficos  |  Invocar funciones de Kutools...
Características populares: Buscar, resaltar o identificar duplicados   |  Eliminar filas en blanco   |  Combine columnas o celdas sin perder datos   |   Ronda sin fórmula ...
Super búsqueda: Búsqueda virtual de criterios múltiples    Búsqueda V de valores múltiples  |   VLookup en varias hojas   |   Búsqueda difusa ....
Lista desplegable avanzada: Crear rápidamente una lista desplegable   |  Lista desplegable dependiente   |  Lista desplegable de selección múltiple ....
Administrador de columnas: Agregar un número específico de columnas  |  Mover columnas  |  Toggle Estado de visibilidad de columnas ocultas  |  Comparar rangos y columnas ...
Características destacadas: Enfoque de cuadrícula   |  Vista de diseño   |   Gran barra de fórmulas    Administrador de hojas y libros de trabajo   |  Biblioteca de Recursos (Texto automático)   |  Selector de fechas   |  Combinar hojas de trabajo   |  Cifrar/descifrar celdas    Enviar correos electrónicos por lista   |  Súper filtro   |   Filtro especial (filtro negrita/cursiva/tachado...) ...
Los 15 mejores conjuntos de herramientas12 Texto Herramientas (Añadir texto, Quitar caracteres, ...)   |   50+ Tabla Tipos (Diagrama de Gantt, ...)   |   40+ Práctico Fórmulas (Calcular la edad según el cumpleaños, ...)   |   19 Inserción Herramientas (Insertar código QR, Insertar imagen desde la ruta, ...)   |   12 Conversión Herramientas (Números a palabras, Conversión de Moneda, ...)   |   7 Fusionar y dividir Herramientas (Filas combinadas avanzadas, Células partidas, ...)   |   ... y más

Mejore sus habilidades de Excel con Kutools for Excel y experimente la eficiencia como nunca antes. Kutools for Excel ofrece más de 300 funciones avanzadas para aumentar la productividad y ahorrar tiempo.  Haga clic aquí para obtener la función que más necesita...

Descripción


Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!
Comments (7)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi this VBA code is awesome useful.
This comment was minimized by the moderator on the site
Thanks for the info. This has been instructive. Please is there a way to filter and delete for specific numbers in rows of up to 1 million? Can the code above be modified to do so?
This comment was minimized by the moderator on the site
Hi,
Sorry did not test the code in such huge row data. Maybe you can make a copy of your data and test if the code can work.
This comment was minimized by the moderator on the site
VBA code to Delete hidden rows worked perfectly with no fiddling. THANK YOU!!
This comment was minimized by the moderator on the site
Feedback re: the macro for hidden row deletions - this takes too long to run on 900k rows to be useful. 2+ hours on an OC'd Threadripper 1950X and still running (had to end task). Any way to optimize it to use multiple cores or is this a VBA limitation?
This comment was minimized by the moderator on the site
Hi,
The code has been optimized. Please have a try. Thank you for your comment.

Sub RemoveHiddenRows()
Dim xFlag As Boolean
Dim xStr, xTemp As String
Dim xDiv, xMod As Long
Dim I, xCount, xRows As Long
Dim xRg, xCell, xDRg As Range
Dim xArr() As String
On Error Resume Next
Application.ScreenUpdating = False
Application.EnableEvents = False
Set xRg = Intersect(ActiveSheet.Range("A:A").EntireRow, ActiveSheet.UsedRange)
If xRg Is Nothing Then Exit Sub
xRows = xRg.Rows.Count
Set xRg = xRg(1)
xFlag = True
xTemp = ""
xCount = 0
For I = 1 To xRows
Set xCell = xRg.Offset(I - 1, 0)
Do While xFlag
If xCell.EntireRow.Hidden Then
xStr = xCell.Address
xFlag = False
Else
GoTo Ctn
End If
Loop
If xCell.EntireRow.Hidden Then
xTemp = xStr & "," & xCell.Address
End If
If Len(xTemp) > 171 Then
xCount = xCount + 1
ReDim Preserve xArr(1 To xCount)
xArr(xCount) = xStr
xStr = xCell.Address
Else
xStr = xTemp
End If
Ctn:
Next
xCount = xCount + 1
ReDim Preserve xArr(1 To xCount)
xArr(xCount) = xStr
For I = xCount To 1 Step -1
If I = 1 Then
xStr = Mid(xArr(I), InStr(xArr(I), ",") + 1, Len(xArr(I)) - InStr(xArr(I), ","))
Else
xStr = xArr(I)
End If
If xDRg Is Nothing Then
Set xDRg = Range(xStr)
Else
Set xDRg = Union(xDRg, Range(xStr))
End If
If (Len(xDRg.Address) >= 244) Or (xCount = 1) Then
xDRg.EntireRow.Delete
Set xDRg = Nothing
End If
Next
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
This comment was minimized by the moderator on the site
Awesome, thank you! Will review at my next opportunity / need for this and reply back.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations