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 |