Note: The other languages of the website are Google-translated. Back to English
Log in  \/ 
x
or
x
Registe-se  \/ 
x

or

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 as 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

Importante: 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 Especial 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 as 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 > Excluir > 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


As melhores ferramentas de produtividade para escritório

O Kutools for Excel resolve a maioria dos seus problemas e aumenta sua produtividade em 80%

  • armadilha para peixes: Insira rapidamente fórmulas complexas, gráficos e qualquer coisa que você tenha usado antes; Criptografar células com senha; Criar lista de discussão e enviar emails ...
  • Super Formula Bar (edite facilmente várias linhas de texto e fórmula); Layout de leitura (ler e editar facilmente um grande número de células); Colar na faixa filtrada...
  • Mesclar células / linhas / colunas sem perder dados; Dividir o conteúdo das células; Combinar linhas / colunas duplicadas... Evite células duplicadas; Comparar intervalos...
  • Selecione Duplicado ou Único Linhas; Selecione linhas em branco (todas as células estão vazias); Super Find e Fuzzy Find em muitos livros; Seleção aleatória ...
  • Cópia exata Várias células sem alterar a referência da fórmula; Criação automática de referências para várias folhas; Inserir marcadores, Caixas de seleção e mais ...
  • Extrair Texto, Adicionar texto, remover por posição, Remover Espaço; Criar e imprimir subtotais de paginação; Converter entre conteúdo de células e comentários...
  • Super Filtro (salvar e aplicar esquemas de filtro a outras planilhas); Classificação Avançada por mês / semana / dia, frequência e mais; Filtro Especial por negrito, itálico ...
  • Combine pastas de trabalho e planilhas; Mesclar tabelas com base em colunas-chave; Divida os dados em várias folhas; Conversão em lote de xls, xlsx e PDF...
  • Mais de 300 recursos poderosos. Suporta Office / Excel 2007-2019 e 365. Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Teste gratuito de 30 dias com recursos completos. Garantia de devolução do dinheiro em 60 dias.
guia kte 201905

Guia do Office 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!
officetab bottom
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Sriram S · 2 years ago
    Hi this VBA code is awesome useful.
  • To post as a guest, your comment is unpublished.
    worded · 2 years ago
    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?
    • To post as a guest, your comment is unpublished.
      crystal · 2 years ago
      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.
  • To post as a guest, your comment is unpublished.
    Bill · 2 years ago
    VBA code to Delete hidden rows worked perfectly with no fiddling. THANK YOU!!
  • To post as a guest, your comment is unpublished.
    max@eckemoffllc.com · 3 years ago
    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?
    • To post as a guest, your comment is unpublished.
      crystal · 3 years ago
      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
      • To post as a guest, your comment is unpublished.
        max@eckemoffllc.com · 3 years ago
        Awesome, thank you! Will review at my next opportunity / need for this and reply back.