VBA Elimina riga

Excel VBA Elimina riga

Normalmente nel foglio di lavoro Excel, abbiamo due metodi diversi per eliminare le righe uno è la scorciatoia da tastiera e un altro usando il tasto destro 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 abbiamo bisogno di eliminare una singola riga diamo un singolo riferimento di riga ma per le colonne multiple diamo più riferimenti di riga.

Utilizzando il metodo Elimina riga di VBA, possiamo eliminare tutte le righe vuote, possiamo eliminare la riga in base al valore della cella, possiamo anche eliminare l'intera riga se una qualsiasi 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?

Puoi scaricare questo modello Excel di eliminazione riga VBA qui - Modello Excel di eliminazione riga VBA

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 usiamo il metodo "cancella".

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. Elimina End Sub

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

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

Esempio n. 3

Possiamo eliminare la riga utilizzando diversi modi. Nell'esempio sopra, 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 cioè 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 desidero 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 proprietà "Intera riga".

Codice:

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

In questa intera riga, dobbiamo eseguire il metodo di eliminazione, quindi usa il metodo Delete.

Codice:

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

Ora questo cancellerà le righe selezionate.

Esempio n. 5

Elimina righe in base al valore della cella

Possiamo anche utilizzare questo metodo "InteraRow.Delete" per eliminare la riga in base al valore della cella in VBA. Ad esempio, ho valori Sì e No dalla cella A1 alla A10.

Ora dobbiamo eliminare le righe che hanno il valore "No". Per eseguire questa operazione è necessario utilizzare la funzione “IF” con loop per eliminare tutte le righe che hanno il valore “No”.

Il codice seguente farà il lavoro per noi.

Codice:

 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 is 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 found 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("Please select the range", "Blank Cells Rows Deletion", Type:=8) Set DeletionRange = RangeToDelete RangeToDelete.SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub 

When you run this code firstly it will ask you to select the range with an input box appearing in front of you.

After selecting the range you need to click on OK, it will delete all the blank cells rows in the selected range.