VBA Excluir linhas - Exemplos para excluir linhas do Excel usando VBA

Excel VBA Excluir linha

Normalmente na planilha do Excel, temos dois métodos diferentes para excluir linhas, um sendo o atalho do teclado e outro usando o método do botão direito e inserir, mas no VBA temos que usar o comando delete e a instrução da planilha para excluir todas as linhas juntas, o truque para isto é, se precisarmos deletar uma única linha, fornecemos uma referência de linha única, mas para as colunas múltiplas fornecemos referências de linhas múltiplas.

Usando o método VBA Delete Row, podemos excluir todas as linhas em branco e podemos excluir a linha com base no valor da célula. Também podemos deletar a linha inteira se alguma das células estiver em branco.

Neste artigo, discutiremos o método “VBA Delete Row”. Mantenha-se ocupado pelos próximos 15 a 20 minutos para aprender sobre o conceito.

Como excluir uma linha?

Exemplo 1

No VBA, precisamos mencionar a linha que estamos excluindo.

Código:

Sub DeleteRow_Example1 () Células (1, 1) End Sub

Células (1, 1) significa primeira coluna da primeira linha, ou seja, célula A1. Em seguida, usamos o método “delete”.

Código:

Sub DeleteRow_Example1 () Células (1, 1) .Delete End Sub

Agora, isso excluirá a primeira célula. Todos os valores do lado direito irão deslocar uma célula para a esquerda.

Exemplo # 2

Se você quiser deletar a linha inteira, precisamos usar a propriedade “WholeRow”, então precisamos usar o método “delete” para deletar toda a linha da célula que selecionamos.

Código:

Sub DeleteRow_Example2 () Células (1, 1) .EntireRow.Delete End Sub

Por exemplo, inseri alguns caracteres em uma planilha do Excel como segue.

Agora, se eu executar este código, ele excluirá a linha inteira, não uma única célula.

Exemplo # 3

Podemos excluir a linha de várias maneiras. No exemplo acima, excluímos a linha usando a propriedade CELLS. Agora veremos como excluir usando a propriedade ROWS.

Agora precisamos mencionar qual é a linha que precisamos excluir. Digamos que precisa excluir 5 ª linha.

Agora use a propriedade “WholeRow”.

Depois de selecionar a propriedade, o que precisamos fazer ou seja, método. Precisamos deletar a linha.

Código:

Sub DeleteRow_Example3 () Rows (5) .EntireRow.Delete End Sub

Assim, este código irá excluir a 5 ª linha.

Exemplo # 4

Excluir várias linhas usando objeto Range

Como podemos excluir várias linhas?

Podemos usar o objeto VBA RANGE para excluir mais de uma linha. Suponha que você tenha alguns valores de células A1 a A6.

Agora, quero excluir as 5 primeiras linhas, para que possa fazer referência a essas linhas usando o objeto Range como “Range (“ A1: A5 ”)”

Código:

Sub DeleteRow_Example4 () Range ("A1: A5") End Sub

Agora, quero usar a propriedade “WholeRow” da palavra.

Código:

Sub DeleteRow_Example4 () Range ("A1: A5"). WholeRow End Sub

Em toda esta linha, precisamos executar o método de exclusão, portanto, use o método Delete.

Código:

Sub DeleteRow_Example4 () Range ("A1: A5"). WholeRow.Delete End Sub

Agora, isso excluirá as linhas selecionadas.

Exemplo # 5

Delete Rows Based On Cell Value

We can also use this “EntireRow.Delete” method to delete the row based on cell value in VBA. For example, I have Yes & No values from cell A1 to A10.

Now we need to delete the rows which have the value “No.” To perform this task, we need to use the function “IF” with loops to delete all the rows which have the value of “No.”

The below code will do the job for us.

Code:

Sub DeleteRow_Example5() Dim k As Integer For k = 10 To 1 Step -1 If Cells(k, 1).Value = "No" Then Cells(k, 1).EntireRow.Delete End If Next k End Sub

Example #6

Delete All the Blank Cells Rows

There are situations where we need to delete the entire row if any of the cells in the range are blank. For example, I have below set of data.

All the colored cells are blank, so I need to delete the entire row. We can perform this task with two sets of code. Below is the code.

Code:

Sub DeleteRow_Example6() Range("A1:F10").SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub

This will identify the blank cells in the range A1 to F10.IF any blank cells are found, they will delete the entire row.

The problem with this code is it will only delete the blank cell’s row only in the range A1 to F10, but if any cells are blank in any other cells, it will not delete. So keeping this in mind, I have written one more code.

Code:

Sub DeleteRow_Example7 () Dim RangeToDelete As Range Dim DeletionRange As Range Set RangeToDelete = Application.InputBox ("Selecione o intervalo", "Apagamento de linhas de células em branco", Tipo: = 8) Definir DeletionRange = RangeToDelete RangeToDelete.SpecialCells (xlCellTypeBlanks). .Delete End Sub

Quando você executa este código, em primeiro lugar, ele pedirá que você selecione o intervalo com uma caixa de entrada aparecendo à sua frente.

Depois de selecionar o intervalo, você precisa clicar em OK. Isso excluirá todas as linhas de células em branco no intervalo selecionado.

Artigos interessantes...