VBA Excluir toda a linha ou coluna

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

Apagar toda a linha ou coluna

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

1 Linhas (1). Excluir

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

Em vez de fazer referência ao Objeto de linhas, você pode fazer referência a linhas com base em seus Objeto de alcance com WholeRow:

1 Range ("a1"). WholeRow.Delete

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

1 Colunas (1). Excluir
1 Range ("a1"). WholeColumn.Delete

Excluir várias linhas ou colunas

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

1 Linhas ("1: 3"). Excluir

ou colunas:

1 Colunas ("A: C"). Excluir

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

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

1 Range ("a1: a10"). WholeRow.Delete

Nota: Os exemplos abaixo demonstram apenas a exclusão de linhas, no entanto, como você pode ver acima, a sintaxe é virtualmente idêntica para excluir colunas.

Excluir linhas em branco / vazias

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

1234567891011 Sub DeleteRows_EntireRowBlank ()Dim cell como rangePara cada célula no intervalo ("b2: b20")If Application.WorksheetFunction.CountA (cell.EntireRow) = 0 Thencell.EntireRow.DeleteFim sePróxima célulaEnd Sub

Faz uso da função de planilha do Excel: CONT.valores.

Excluir linha se a célula estiver em branco

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

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

Excluir linha com base no valor da célula

Isso fará um loop por um intervalo e excluirá linhas se um determinado valor de célula nessa linha disser “excluir”.

1234567891011 Sub DeleteRowswithSpecificValue ()Dim cell como rangePara cada célula no intervalo ("b2: b20")Se cell.Value = "delete" Thencell.EntireRow.DeleteFim sePróxima célulaEnd Sub

Mais exemplos de exclusão de linha e coluna

Excluir linhas duplicadas

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

1 Intervalo ("b2: c100"). Remover Colunas Duplicadas: = 2

Observe que definimos Colunas: = 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 como 1, apenas a primeira linha teria sido verificada quanto a valores duplicados.

Excluir linhas da tabela

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

1 ThisWorkbook.Sheets ("Sheet1"). ListObjects ("list1"). ListRows (2) .Delete

Excluir linhas filtradas

Para excluir apenas as linhas visíveis após a filtragem:

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

Excluir linhas no intervalo

Este código excluirá todas as linhas no intervalo:

1 Range ("a1: a10"). WholeRow.Delete

Excluir linhas selecionadas

Este código excluirá todas as linhas selecionadas:

1 Selection.EntireRow.Delete

Excluir última linha

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

1 Células (Rows.Count, 2) .End (xlUp) .EntireRow.Delete

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

1 Células (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:

1 Colunas (2). Excluir
wave wave wave wave wave