Excel VBA Elimina riga
Normalmente nel foglio di lavoro Excel, abbiamo due diversi metodi per eliminare le righe uno è la scorciatoia da tastiera e un altro usando il tasto destro del mouse e il metodo di inserimento, ma in VBA dobbiamo usare il comando di eliminazione e l'istruzione del foglio di lavoro per eliminare tutte le righe insieme, il trucco per questo è che se dobbiamo eliminare una singola riga diamo un singolo riferimento di riga ma per le colonne multiple diamo più riferimenti di riga.
Utilizzando il metodo di eliminazione delle righe di VBA, possiamo eliminare tutte le righe vuote e possiamo eliminare la riga in base al valore della cella. Possiamo anche eliminare l'intera riga se una delle celle è vuota.
In questo articolo, discuteremo il metodo "VBA Delete Row". Tieniti occupato per i prossimi 15-20 minuti per apprendere il concetto.

Come eliminare la riga?
Esempio 1
In VBA, dobbiamo menzionare la riga che stiamo eliminando.
Codice:
Sub DeleteRow_Example1 () Cells (1, 1) End Sub

Celle (1, 1) indica la prima colonna della prima riga, ovvero cella A1. Quindi utilizziamo il metodo "elimina".
Codice:
Sub DeleteRow_Example1 () Cells (1, 1) .Delete End Sub

Ora questo cancellerà la prima cella. Tutti i valori del lato destro si sposteranno di una cella a sinistra.

Esempio n. 2
Se vuoi eliminare l'intera riga, dobbiamo utilizzare la proprietà "Intera riga", quindi dobbiamo utilizzare il metodo "elimina" per eliminare l'intera riga della cella che abbiamo selezionato.
Codice:
Sub DeleteRow_Example2 () Cells (1, 1) .EntireRow.Delete End Sub

Ad esempio, ho inserito alcuni caratteri in un foglio Excel come segue.

Ora, se eseguo questo codice, eliminerà l'intera riga, non una singola cella.

Esempio n. 3
Possiamo eliminare la riga utilizzando diversi modi. Nell'esempio precedente, abbiamo eliminato la riga utilizzando la proprietà CELLS. Ora vedremo come eliminare utilizzando la proprietà ROWS.

Ora dobbiamo menzionare qual è la riga che dobbiamo eliminare. Diciamo che dobbiamo eliminare la quinta riga.

Ora usa la proprietà "Intera riga".

Dopo aver selezionato la proprietà, cosa dobbiamo fare, ovvero metodo. Dobbiamo eliminare la riga.
Codice:
Sub DeleteRow_Example3 () Rows (5) .EntireRow.Delete End Sub

Quindi, questo codice cancellerà la quinta riga.
Esempio n. 4
Elimina più righe utilizzando l'oggetto intervallo
Come eliminiamo più righe?
Possiamo usare l'oggetto VBA RANGE per eliminare più di una riga. Supponi di avere alcuni valori dalle celle A1 ad A6.

Ora voglio eliminare le prime 5 righe, quindi posso fare riferimento a queste righe utilizzando l'oggetto Range come "Range (" A1: A5 ")"
Codice:
Sub DeleteRow_Example4 () Range ("A1: A5") End Sub

Ora voglio usare la parola "Intera riga".
Codice:
Sub DeleteRow_Example4 () Range ("A1: A5"). Intera riga End Sub

In questa intera riga, dobbiamo eseguire il metodo di eliminazione, quindi usa il metodo Delete.
Codice:
Sub DeleteRow_Example4 () Range ("A1: A5"). InteraRow.Delete End Sub

Ora questo cancellerà le righe selezionate.

Esempio n. 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 ("Seleziona l'intervallo", "Eliminazione righe celle vuote", Tipo: = 8) Set DeletionRange = RangeToDelete RangeToDelete.SpecialCells (xlCellTypeBlanksRegistrazione) .Elimina End Sub

Quando esegui questo codice, in primo luogo, ti chiederà di selezionare l'intervallo con una casella di input che appare di fronte a te.

Dopo aver selezionato l'intervallo, è necessario fare clic su OK. Eliminerà tutte le righe di celle vuote nell'intervallo selezionato.