Ir para o conteúdo principal

Como filtrar uma lista e excluir as demais linhas ocultas ou visíveis no Excel?

Para uma lista filtrada, pode ser necessário excluir as linhas ocultas ou visíveis para manter apenas os dados úteis. Neste artigo, mostraremos os métodos de exclusão das demais linhas ocultas ou visíveis de uma lista filtrada no Excel.

Exclua linhas ocultas na planilha ativa com o código VBA
Exclua as linhas visíveis da lista filtrada selecionando todas as células visíveis
Exclua facilmente linhas ocultas ou visíveis da lista filtrada com o Kutools para Excel


Exclua linhas ocultas na planilha ativa com o código VBA

Esta seção mostrará o código VBA para excluir linhas ocultas na planilha ativa. Faça o seguinte.

1. Ative a planilha que você precisa para excluir as linhas ocultas, pressione outro + F11 simultaneamente para abrir o Microsoft Visual Basic para Aplicações janela.

2. Na janela Microsoft Visual Basic for Applications, clique em inserção > Módulo. Em seguida, copie e cole o código VBA abaixo na janela Módulo.

Código VBA: Excluir linhas 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. aperte o F5 chave para executar o código. Se houver linhas ocultas na planilha ativa, depois de executar o código, uma caixa de diálogo aparecerá para informar quantas linhas ocultas foram excluídas. Clique no OK botão para excluir as linhas ocultas. Veja a imagem:

doc deletar resto 1

Caso contrário, você obterá a seguinte caixa de diálogo após executar o código.

doc deletar resto 1

Note: o código VBA acima não só pode excluir linhas ocultas da lista filtrada, mas também excluir linhas ocultas que você ocultou manualmente antes.


Exclua as linhas visíveis da lista filtrada selecionando todos os recursos de células visíveis

Para excluir as linhas visíveis da lista filtrada, faça o seguinte.

1. Selecione todas as linhas filtradas e pressione F5 chave para abrir o ir para caixa de diálogo e clique no Destaque botão. Veja a imagem:

doc deletar resto 1

2. No Ir para especial caixa de diálogo, verifique a Células visíveis apenas opção e, em seguida, clique no OK botão.

doc deletar resto 1

3. Agora todas as linhas visíveis estão selecionadas, clique com o botão direito na seleção e clique em Eliminar linhas.

doc deletar resto 1

Até agora, todas as linhas visíveis são excluídas da lista filtrada.


Exclua facilmente linhas ocultas ou visíveis da lista filtrada com o Kutools para Excel

Os dois métodos acima podem não ser as soluções desejadas para muitos usuários do Excel; aqui, apresentamos uma ferramenta útil. Com o Excluir linhas e colunas ocultas (visíveis) utilidade de Kutools for Excel, você pode excluir facilmente linhas ocultas em intervalo / planilhas selecionadas, planilha ativa ou todas as planilhas no Excel.

Antes de aplicar Kutools for Excel, Por favor baixe e instale primeiro.

1. Se você deseja excluir apenas as linhas ocultas ou visíveis de uma lista filtrada, selecione o intervalo filtrado manualmente e clique em Kutools > Apagar > Excluir linhas e colunas ocultas (visíveis). Veja a imagem:

2. No Excluir linhas e colunas ocultas (visíveis) caixa de diálogo, mantenha o No intervalo selecionado selecionado no Olhar dentro lista suspensa (você pode selecionar outras opções conforme necessário), verifique o Linhas opção no Excluir tipo seção, e na Tipo detalhado seção, cheque Linhas visíveis or Linhas ocultas opção conforme você precisa. E finalmente clique no OK botão.

3. Em seguida, uma caixa de diálogo aparecerá para informar quantas linhas foram excluídas, clique no OK botão.

  Se você quiser ter um teste gratuito (30 dias) deste utilitário, por favor clique para fazer o downloade, em seguida, aplique a operação de acordo com as etapas acima.


Exclua linhas ocultas ou visíveis da lista filtrada com o Kutools para Excel

Melhores ferramentas de produtividade de escritório

🤖 Assistente de IA do Kutools: Revolucionar a análise de dados com base em: Execução Inteligente   |  Gerar Código  |  Crie fórmulas personalizadas  |  Analise dados e gere gráficos  |  Invocar funções do Kutools...
Recursos mais comuns: Encontre, destaque ou identifique duplicatas   |  Excluir linhas em branco   |  Combine colunas ou células sem perder dados   |   Rodada sem Fórmula ...
Super pesquisa: VLookup de múltiplos critérios    VLookup de múltiplos valores  |   VLookup em várias planilhas   |   Pesquisa Difusa ....
Lista suspensa avançada: Crie rapidamente uma lista suspensa   |  Lista suspensa de dependentes   |  Lista suspensa de seleção múltipla ....
Gerenciador de colunas: Adicione um número específico de colunas  |  Mover colunas  |  Alternar status de visibilidade de colunas ocultas  |  Compare intervalos e colunas ...
Recursos em destaque: Foco da Grade   |  Vista de Design   |   Grande Barra de Fórmula    Gerenciador de pastas de trabalho e planilhas   |  Biblioteca (Auto texto)   |  Data Picker   |  Combinar planilhas   |  Criptografar/Descriptografar Células    Enviar e-mails por lista   |  Super Filtro   |   Filtro Especial (filtro negrito/itálico/tachado...) ...
15 principais conjuntos de ferramentas12 Texto Ferramentas (Adicionar texto, Remover Personagens, ...)   |   50+ de cores Tipos (Gráfico de Gantt, ...)   |   Mais de 40 práticos Fórmulas (Calcule a idade com base no aniversário, ...)   |   19 Inclusão Ferramentas (Insira o código QR, Inserir imagem do caminho, ...)   |   12 Conversão Ferramentas (Números para Palavras, Conversão de moedas, ...)   |   7 Unir e dividir Ferramentas (Combinar linhas avançadas, Dividir células, ...)   |   ... e mais

Aprimore suas habilidades de Excel com o Kutools para Excel e experimente uma eficiência como nunca antes. Kutools para Excel oferece mais de 300 recursos avançados para aumentar a produtividade e economizar tempo.  Clique aqui para obter o recurso que você mais precisa...

Descrição


Office Tab traz interface com guias para o Office e torna seu trabalho muito mais fácil

  • Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
  • Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!
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