VBA – Excluir Linha ou Coluna Inteira

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Daniel Caramello

Last updated on July 3, 2023

Este tutorial demonstrará diferentes maneiras de excluir linhas e colunas no Excel usando o VBA.

Excluir uma Linha ou Coluna Inteira

Para excluir uma linha inteira no VBA, use esta linha de código:

Rows(1).Delete

Observe que usamos o método Delete para excluir uma linha.

Em vez de fazer referência ao objeto Rows, você pode fazer referência a linhas com base em seu Objeto Range com EntireRow:

Range("a1").EntireRow.Delete

Da mesma forma, para excluir uma coluna inteira, use estas linhas de código:

Columns(1).Delete
Range("a1").EntireColumn.Delete

Excluir várias linhas ou colunas

Usando a mesma lógica, você também pode excluir várias linhas de uma vez:

Rows("1:3").Delete

ou colunas:

Columns("A:C").Delete

Observe que aqui fazemos referência aos números/letras específicos de linhas e colunas entre aspas.

Obviamente, você também pode fazer referência a EntireRow de um intervalo:

Range("a1:a10").EntireRow.Delete

Observação: os exemplos abaixo demonstram apenas a exclusão de linhas, mas, como você pode ver acima, a sintaxe é praticamente idêntica à da exclusão de colunas.

Excluir linhas em branco/vazias

Este exemplo excluirá uma linha se a linha inteira estiver em branco:

Sub ApagarLinhas_LinhaEmBranco()

Dim celula As Range

For Each celula In Range("b2:b20")
    If Application.WorksheetFunction.CountA(celula.EntireRow) = 0 Then
        celula.EntireRow.Delete
    End If
Next celula

End Sub

Ele faz uso da função de planilha do Excel: CONT.VALORES (COUNTA).

Excluir linha se a célula estiver em branco

Isso excluirá uma linha se uma coluna específica dessa linha estiver em branco (nesse caso, a coluna B):

Range("b3:b20").SpecialCells(xlCellTypeBlanks).EntireRow.Delete

Excluir linha com Base no Valor da Célula

Esta opção percorrerá um intervalo e excluirá as linhas se um determinado valor de célula nessa linha indicar “excluir”.

Sub ApagarLihaComValorEspecial()

Dim celula As Range

For Each celula In Range("b2:b20")
    If celula.Value = "excluir" Then
        celula.EntireRow.Delete
    End If
Next celula

End Sub

Mais Exemplos de Exclusão de Linhas e Colunas

Excluir Linhas Duplicadas

Este código excluirá todas as linhas duplicadas em um intervalo:

Range("b2:c100").RemoveDuplicates Columns:=2

Observe que definimos Columns:=2. Isso diz ao VBA para verificar as duas primeiras colunas de dados ao considerar se as linhas são duplicadas. Uma duplicata só é encontrada quando ambas as colunas têm valores duplicados.

Se tivéssemos definido esse valor como 1, somente a primeira linha seria verificada quanto a valores duplicados.

Excluir Linhas da Tabela

Esse código excluirá a segunda linha em uma tabela fazendo referência a ListObjects.

ThisWorkbook.Sheets("Planilha1").ListObjects("Tabela1").ListRows(2).Delete

Excluir Linhas filtradas

Para excluir somente as linhas que são visíveis após a filtragem:

Range("b3:b20").SpecialCells(xlCellTypeVisible).EntireRow.Delete

Excluir Linhas no Intervalo

Esse código excluirá todas as linhas do intervalo:

Range("a1:a10").EntireRow.Delete

Excluir Linhas Selecionadas

Este código excluirá todas as linhas selecionadas:

Selection.EntireRow.Delete

Excluir a Última Linha

Isso excluirá a última linha usada na coluna B:

Cells(Rows.Count, 2).End(xlUp).EntireRow.Delete

Ao alterar 2 para 1, você pode excluir a última linha usada na coluna A, etc:

Cells(Rows.Count, 1).End(xlUp).EntireRow.Delete

Excluir Colunas por Número

Para excluir uma coluna por seu número, use um código como este:

Columns (2).Delete
vba-free-addin

Exemplos de Add-ins de Códigos VBA

Acesse facilmente todos os exemplos de código que se encontram em nosso site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(Nenhuma instalação necessária!)

Baixe de Graça

Retornar aos Exemplos de Códigos VBA