Dica: outros idiomas são traduzidos pelo Google. Você pode visitar o English versão deste link.
Entrar
x
or
x
x
Registre-se
x

or

Como remover linhas com base no valor da célula no Excel?

Para excluir ou remover rapidamente várias linhas com base no valor da célula no Excel, talvez seja necessário selecionar as linhas inteiras que contém o valor da célula específica primeiro e, em seguida, ir para removê-las. Parece que não há uma maneira rápida de excluir linhas com base no valor da célula, mas usando o código VBA. Aqui estão alguns truques rápidos para ajudá-lo.

Remova as linhas com base em um valor de célula com a função Localizar e Substituir

Remover linhas com base em um valor de célula com código VBA

Remova as linhas com base em um ou dois valores de célula

Remova as linhas com base em valores de células múltiplas

Selecione rapidamente toda a linha / coluna por determinado valor da célula e, em seguida, exclua as linhas / colunas selecionadas à vontade!

Kutools for Excel'S Select SpecifiC Cells O utilitário fornece aos usuários do Excel uma escolha fácil para selecionar a linha inteira ou a coluna inteira se os valores da célula combinarem com determinado valor no Excel. Mais fácil e mais distinto para trabalhar! Versão completa de avaliação gratuita 30-dia!
Ad select special cells selecione colunas de linhas inteiras se contiver determinado valor

Guia do Office Habilitar Edição e Navegação por Guias no Office e Facilitar seu Trabalho ...
Kutools for Excel resolve a maioria dos seus problemas e aumenta sua produtividade em 80%
  • Reutilizar qualquer coisa: Adicione as fórmulas, gráficos e outras coisas mais usadas ou complexas aos seus favoritos e reutilize-os rapidamente no futuro.
  • Mais do que recursos de texto 20: Extrair número da string de texto; Extrair ou remover parte de textos; Converta números e moedas em palavras em inglês.
  • Mesclar Ferramentas: Várias pastas de trabalho e folhas em um; Mesclar várias células / linhas / colunas sem perder dados; Mesclar linhas duplicadas e soma.
  • Ferramentas de divisão: Dividir dados em várias folhas com base no valor; Uma pasta de trabalho para vários arquivos Excel, PDF ou CSV; Uma coluna para várias colunas.
  • Colar pulando Linhas ocultas / filtradas; Contagem e Soma pela cor de fundo; Envie emails personalizados para vários destinatários em massa.
  • Super Filtro: Crie esquemas de filtro avançados e aplique a qualquer folha; tipo por semana, dia, frequência e mais; filtros por negrito, fórmulas, comentário ...
  • Mais de recursos poderosos do 300; Funciona com o Office 2007-2019 e 365; Suporta todos os idiomas; Fácil implantação em sua empresa ou organização.


arrow blue right bubble Remova as linhas com base no valor da célula com o recurso Localizar e substituir

No Excel, você pode aplicar o poderoso recurso Localizar e Substituir para remover linhas de acordo com um determinado valor de célula facilmente. Faça o seguinte:

1. Selecione o intervalo em que você removerá as linhas com base em determinado valor da célula e abra a caixa de diálogo Localizar e Substituir pressionando o botão Ctrl + F chaves simultaneamente.

2. Na caixa de diálogo Localizar e Substituir, digite o valor da célula certa (no nosso caso, entramos no Quente) no Find what caixa, e clique no Find All botão. Veja a primeira captura de tela abaixo:

3. Selecione todos os resultados da pesquisa na parte inferior da caixa de diálogo Localizar e Substituir e feche esta caixa de diálogo. (notas: Você pode selecionar um dos resultados de pesquisa e, em seguida, Ctrl + A chaves para selecionar todos os resultados encontrados. Veja a segunda captura de tela acima.)
E então você pode ver todas as células que possuem o valor certo selecionado.

4. Vá para o botão direito do mouse em células selecionadas e selecione o Delete no menu do botão direito do mouse. E então verifique o Entire row opção na caixa de diálogo Excluir, e clique no botão OK botão. Agora você verá que todas as células contendo o valor certo são removidas. Veja as capturas de tela abaixo:

E, em seguida, as linhas inteiras foram excluídas com base no valor certo já.


arrow blue right bubble Remover linhas com base no valor da célula com o código VBA

Com o seguinte código VBA, você pode excluir rapidamente as linhas com determinado valor de célula, faça as seguintes etapas:

1. aperte o Alt + F11 teclas ao mesmo tempo para abrir Microsoft Visual Basic for applications janela,

2. Clique Insert > Modulee insira o seguinte código no módulo:

VBA: remove linhas inteiras com base no valor da célula

Sub DeleteRows()
'Updateby20140314
Dim rng As Range
Dim InputRng As Range
Dim DeleteRng As Range
Dim DeleteStr As String
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
DeleteStr = Application.InputBox("Delete Text", xTitleId, Type:=2)
For Each rng In InputRng
    If rng.Value = DeleteStr Then
        If DeleteRng Is Nothing Then
            Set DeleteRng = rng
        Else
            Set DeleteRng = Application.Union(DeleteRng, rng)
        End If
    End If
Next
DeleteRng.EntireRow.Delete
End Sub

3. Em seguida, clique no botão Run para executar o código.

4. Na caixa de diálogo aparecer, selecione o intervalo onde você removerá as linhas com base no valor certo e clique no botão OK botão.

5. Em outra caixa de diálogo, digite o valor certo que você removerá as linhas com base e clicará no OK botão. Ver captura de tela:

E então você verá linhas inteiras foram excluídas com base no valor especificado já.


arrow blue right bubble Remova as linhas com base em um ou dois valores de célula com o Kutools for Excel

Se você instalou Kutools for Excel, as TIC Select Specific Cells O recurso pode ajudá-lo a excluir rapidamente as linhas com um valor específico. Faça o seguinte:

1. Selecione o intervalo que você removerá as linhas com base no valor certo e clique em Kutools > Select > Select Specific Cells. Ver captura de tela:

2. Na caixa de diálogo Seleção de células especificadas de abertura, verifique Entire row opção, selecione Contains de Specific type desça a lista, insira o valor especificado na caixa direita e clique no botão Ok botão (veja a captura de tela acima).
Depois de aplicar este recurso, uma caixa de diálogo aparecerá e mostrará quantas células foram encontradas com base nos critérios especificados. Por favor, clique no botão OK botão para fechá-lo.

3. Agora são selecionadas linhas inteiras com o certo valor. Clique com o botão direito do mouse nas linhas selecionadas e clique no botão Delete no menu do botão direito do mouse. Veja a tela abaixo:

notas: Este Select Specific Cells recurso suporta para excluir linhas por um ou dois valores certos. Para excluir linhas com base em dois valores especificados, especifique outro valor no Specific type seção de caixa de diálogo Selecionar células específicas como a seguinte captura de tela mostrada:

Kutools for Excel - Inclui mais do que as ferramentas úteis do 300 para Excel. Avaliação gratuita com todos os recursos 30-dia, sem necessidade de cartão de crédito! Get It Now


arrow blue right bubbleRemova as linhas com base em valores de células múltiplas com o Kutools for Excel

Em alguns casos, talvez seja necessário remover linhas com base em vários valores de células de outra coluna / lista no Excel. Aqui vou apresentar Kutools for Excel's Select Same & Different Cells recurso para resolvê-lo rapidamente com facilidade.

1. Clique Kutools > Select > Select Same & Different Cells para abrir a caixa de diálogo Selecionar Mês e Diferentes Células.

2. Na abertura Select Same & Different Cells caixa de diálogo, faça o seguinte (veja a captura de tela):

(1) No Find values in caixa, selecione a coluna onde você encontrará os certos valores;
(2) No According to caixa, selecione a coluna / lista com vários valores que você excluirá as linhas com base em;
(3) No Based on seção, verifique o Each row opção;
(4) No Find seção, verifique o Same Values opção;
(5) Verifique o Select entire rows opção na parte inferior da caixa de diálogo de abertura.
notas: Se duas colunas especificadas contiverem o mesmo cabeçalho, verifique o My data has headers opção.

3. Clique no Ok para aplicar este utilitário. E então, uma caixa de diálogo é exibida e mostra quantas linhas foram selecionadas. Basta clicar no OK botão para fechá-lo.

E então todas as linhas contendo valores entre a lista especificada foram selecionadas.

4. Clique Home > Delete > Delete Sheet Rows para excluir todas as linhas selecionadas.


arrow blue right bubbleDemo: remova linhas com base em um ou vários valores de célula no Excel

Kutools for Excel inclui mais do que as ferramentas úteis do 300 para Excel, gratuitas para testar sem limitações em dias do 30. Faça o download e teste gratuito agora!

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

  • armadilha para peixes: Inserir rapidamente fórmulas complexas, gráficos e qualquer coisa que você tenha usado antes; Criptografar células com senha; Criar lista de endereços e enviar e-mails ...
  • Bar Super Fórmula (facilmente editar várias linhas de texto e fórmula); Layout de leitura (leia e edite facilmente grandes números de células); Colar para intervalo filtrado...
  • Mesclar células / linhas / colunas sem perder dados; Conteúdo de células divididas; Combinar linhas / colunas duplicadas... Prevenir Células Duplicadas; Comparar intervalos...
  • Selecione Duplicado ou Exclusivo Linhas; Selecione linhas em branco (todas as células estão vazias); Super Find e Fuzzy Find em muitos livros de trabalho; Seleção aleatória ...
  • Cópia exata Múltiplas Células sem alterar a referência da fórmula; Criar automaticamente 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 (salve e aplique 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 ...
  • Combinar pastas de trabalho e planilhas; Mesclar tabelas com base em colunas-chave; Dividir dados em várias planilhas; Lote Converter xls, xlsx e PDF...
  • Mais de recursos poderosos do 300. Suporta Office / Excel 2007-2019 e 365. Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Recursos completos Avaliação gratuita de um dia de 30.
kte tab 201905

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

  • Ativar edição e leitura com guias no 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!
fundo officetab
Say something here...
symbols left.
You are guest ( Sign Up? )
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.
    kaushal · 2 years ago
    very well. Thank you!
  • To post as a guest, your comment is unpublished.
    Bobby · 2 years ago
    Can someone help me...If 3rd column has value 0, then delete all values of corresponding column 1st.
    In this case answer should be the last line only....

    Check MenuName ID
    3149 VNLA MILFLLE 2
    3149 TURKEY PNN 0
    3149 R. BEEF PNN 0
    3149 MIX MOCHA 38
    3150 M.G.R 1/2 0
    3150 THE PEPPE L 0
    3150 MIX SLD 0
    3150 EGGPLANT 0
    3150 STILL WATER 7
    3151 MIX MOCHA 38
  • To post as a guest, your comment is unpublished.
    Amar · 2 years ago
    Thanks for sharing. I am actually looking for a code that doesn't ask user for range but instead selects a specific column say column "A" and runs till the last row of that column. Can you please help..
  • To post as a guest, your comment is unpublished.
    Marion · 2 years ago
    Hi everybody,

    I am wondering what can we do to delete the following (According to the example shown in this page): Soe appears at several date (sept, October... etc). What I would like is to delete the line where Soe is but to keep the line with last date she appeared. In addition, some lines could be in double but I still want to keep it.

    So for example, you have the lines:
    - July 3 /Soe
    - Sep 4 / Soe
    - Sep 4 / Soe
    - Oct 19/ Soe
    - Nov 13 / Soe
    - Nov 13 / Soe

    and what I want to keep is:
    - Nov 13 / Soe
    - Nov 13 / Soe

    [i][b]My real case is:[/b][/i] I have different EAN code and version 1, 2, 3 or 4 and I want to keep the line where the version is the higher.
    e.g.: I have:
    - EAN 1 / Version 1
    - EAN 1 / Version 1
    - EAN 1 / Version 2
    - EAN 1 / Version 2
    - EAN 2 / Version 2
    - EAN 2 / Version 3
    - EAN 2 / Version 3


    and I want to keep:
    - EAN 1 / Version 2
    - EAN 1 / Version 2
    - EAN 2 / Version 3
    - EAN 2 / Version 3


    I am searching since hours and I am completely blocked on this issue.

    Many thanks in advance for your brain and help.

    Best,

    Marion
  • To post as a guest, your comment is unpublished.
    Aju Thoas · 3 years ago
    Hi,

    Thank you this was really helpful. However, there's an error that pops up when I run the codes it says "Object variable or with block variable not set" and it points to " the line DeleteRNG.EntireRow.Delete". Could you please help me with debugging this.

    Thanks.
  • To post as a guest, your comment is unpublished.
    PC · 3 years ago
    I am trying to use this macro in order to delete unused formulas, because excel views blank formula cells as a zero value and will print extra pages. I was hoping when I deleted the unused formulas, when I printed it would only print the pages that had information. This is not the case and I really need help to find a solution. I have tried using this formula and it is not working and prints three extra pages that I do not need even with the extra formulas being deleted.

    Sub selectonly()
    '
    ' selectonly Macro
    '

    Range("A1").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlDown)).Select
    ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"
    End Sub
  • To post as a guest, your comment is unpublished.
    NEU · 3 years ago
    thank you so much. That save me a lot of time
  • To post as a guest, your comment is unpublished.
    NC Arch · 4 years ago
    Trying to find a delete Function that will delete entire designated rows automatically, based on certain values or certain text contained in other cell(s), using only automated formulas.
  • To post as a guest, your comment is unpublished.
    Clay · 4 years ago
    How can i delete selected cell that i want based on value that i entered for example :
    A1 B1 C1 D1
    A2 B2 C2 D2
    A3 B3 C3 D3
    A4 B4 C4 D4

    When i entered in some cell for example "2" then 2 row will be deleted from A3:D4. If i entered "1" then 1 row will be deleted from A4:D4. if i entered "3" then 3 row will be deleted from A2:D4
  • To post as a guest, your comment is unpublished.
    Milon · 4 years ago
    Great it work thank you so much
  • To post as a guest, your comment is unpublished.
    Moe · 4 years ago
    Hello, many thanks for the code. But say I want to delete one row containing "Apple". And not all of the rows containing it. Let's just say the last one, or a random one, doesn't really matter, just one. Many thanks in advance! :-)
  • To post as a guest, your comment is unpublished.
    Meredith · 4 years ago
    Just what I needed, thanks! :D
  • To post as a guest, your comment is unpublished.
    JonS · 4 years ago
    Is there anyway to have the value recognize a value that has expired, such as. All rows that show an expiration date within a specific column will be automatically removed and then the rows that were deleted will be filled by moving the rows beneath. Filling gaps.
  • To post as a guest, your comment is unpublished.
    angel baby · 4 years ago
    What a great. thank so all so much. :)
  • To post as a guest, your comment is unpublished.
    DavidGough · 4 years ago
    is it possible to compare two columns and then delete? is in range A3:D3000 if cell A=x and cell B=y then delete row?
  • To post as a guest, your comment is unpublished.
    DavidGough · 4 years ago
    How can I specify the range A3:D3000 (ie. I don´t want the user to select the range)? How can I make the Delete String a cell reference, ex. G1?
  • To post as a guest, your comment is unpublished.
    Joan K · 4 years ago
    Hello and thank you very much for the VBA code. I have one question.

    Is it possible to make the code the way that it is possible to choose several cell values to delete at the same time? For example choose Apple and Emily at the same time and delete them?
    I appreciate you work and looking forward to your response.

    Joan K
  • To post as a guest, your comment is unpublished.
    Victor · 5 years ago
    i have a list of stores in one document. I have a report that returns thousand of lines. the store number is always in Column A. Is there a code/macro that will search the report and delete all columns with store numbers from the store list. thinking a vlookup and "Do While" are needed.
  • To post as a guest, your comment is unpublished.
    alex2 · 5 years ago
    I'd like to delete all rows where column1 = "Apple" AND column3 = "green". please?
    • To post as a guest, your comment is unpublished.
      Finidi · 5 years ago
      Im not sure how to do this using macro's or so, but one option that would do its job just fine is to add an extra colum that tests for the one colum to be "apple" and the other to be "green" and then let it give a simple "yes" or "no" value. than use either of the above options to search for the value "yes" and remove rows based on that instead of 2 seperate values.
  • To post as a guest, your comment is unpublished.
    gabz · 5 years ago
    thank.. it helps me a lot...
  • To post as a guest, your comment is unpublished.
    smj2013 · 5 years ago
    Thank you for the VB Script. I can not wait to try this. Question:Is there anyway to mark the columns for deletion prior to deleting them and/or copy to a separate tab in the workbook? In addition is there a way to run this script run on multiple workbooks/files at one time?
  • To post as a guest, your comment is unpublished.
    Leo · 5 years ago
    Hi,
    Any way to write it to delete a row, with an OR exception? I.e- delete rows that are duplicates, but ignore a certain value. I want to delete duplicates, except where the column in question contains a blank b/c that column doesn't have valid data yet. I ran as you have, but I ended deleting rows with a blank in the column in question, so I can't use it as it is.
    Thanks
  • To post as a guest, your comment is unpublished.
    Tee · 5 years ago
    Hi,
    What is the easiest way to delete rows that do NOT contain "Apple" please?

    Thanks
  • To post as a guest, your comment is unpublished.
    Aleardo · 5 years ago
    Thanks, this is great!
    Quick comment, I tried the find and replace function in excel 2010.
    In order to select all the found results I had to use Ctrl +A instead of Alt + A.
  • To post as a guest, your comment is unpublished.
    Mira · 5 years ago
    Definitely awsome! Appreciate for sharing!!!
  • To post as a guest, your comment is unpublished.
    Joe Nelson · 5 years ago
    I just wanted to say thank you. This worked like a charm.
  • To post as a guest, your comment is unpublished.
    Adam · 5 years ago
    Lets say I put the below code in to delete all of my rows that contain apple but then I want it to continue once that is done and delete all the rows that contain banana? I tried to just duplicate the code but it seems to stop after apple.

    thanks.

    Sub Delete_Rows()
    Dim rng As Range, cell As Range, del As Range
    Set rng = Intersect(Range("A1:C20"), ActiveSheet.UsedRange)
    For Each cell In rng
    If (cell.Value) = "Apple" _
    Then
    If del Is Nothing Then
    Set del = cell
    Else: Set del = Union(del, cell)
    End If
    End If
    Next cell
    On Error Resume Next
    del.EntireRow.Delete
    End Sub
  • To post as a guest, your comment is unpublished.
    H man · 5 years ago
    I get:

    run-time error '13':
    Type mismatch

    Debugging highlights the If (cell.Value) = "FALSE" _
    Then
    section.

    I'm totally lost in MVB, any help would be appreciated.
  • To post as a guest, your comment is unpublished.
    Jim Mc · 5 years ago
    Heartfelt thanks - it's always amusing when the Marketing guy tries to write code, and this info was super helpful. I was unable to get the code to span multiple columns ("AA2:AA3000" works, "AB2:AB3000" works, but "AA2:AB3000" doesn't work. There's no Earth-shattering Kaboom - it just does nothing. I've solved it (amateurishly, I suppose) by running several macros in sequence, but there's probably a more elegant way. Thanks again for your help, Jim (Melville, NY)
  • To post as a guest, your comment is unpublished.
    Claire · 5 years ago
    Hey - thanks so much for the script. I was wondering if you can use wildcards so you can select anything within a cell that matches rather than a specific item? I've tried using ** wildcards but it doesn't seem to do anything. Here is what I have:

    Sub Delete_Rows()
    Dim rng As Range, cell As Range, del As Range
    Set rng = Intersect(Range("B6:B20"), ActiveSheet.UsedRange)
    For Each cell In rng
    If cell.Value Like "*WORDTODELETE*" _
    Then
    If del Is Nothing Then
    Set del = cell
    Else: Set del = Union(del, cell)
    End If
    End If
    Next cell
    On Error Resume Next
    del.EntireRow.Delete
    End Sub
  • To post as a guest, your comment is unpublished.
    Art · 6 years ago
    Bobby, try this, it should get what you want:
    If (cell.Value) = "Apple" OR (cell.Value) = "Monday"
    • To post as a guest, your comment is unpublished.
      April · 5 years ago
      Is there anyway to have the value recognize a value whether is > or = to a certain value?
  • To post as a guest, your comment is unpublished.
    Bobby · 6 years ago
    Any way to modify the If (cell.Value) = "Apple" to include multiple values?
  • To post as a guest, your comment is unpublished.
    Alan · 6 years ago
    Fantastic! That worked a treat, I altered it slightly to suit what I needed but pure genious. Oh VBA Version.