VBA Rij verwijderen

Excel VBA Rij verwijderen

Normaal gesproken hebben we in het Excel-werkblad twee verschillende methoden om rijen te verwijderen, de ene is de sneltoets en de andere door de rechtsklik- en invoegmethode te gebruiken, maar in VBA moeten we de verwijderopdracht en de werkbladverklaring gebruiken om rijen samen te verwijderen, de truc om dit is dat als we een enkele rij moeten verwijderen, we een enkele rijverwijzing geven, maar voor de meerdere kolommen geven we meerdere rijverwijzingen.

Met behulp van de VBA-methode Rij verwijderen kunnen we alle lege rijen verwijderen, we kunnen de rij verwijderen op basis van de celwaarde, we kunnen ook de hele rij verwijderen als een van de cellen leeg is.

In dit artikel bespreken we de methode “VBA Delete Row”. Houd jezelf de komende 15 tot 20 minuten bezig om meer te weten te komen over het concept.

Hoe rij te verwijderen?

U kunt deze VBA Rij Excel-sjabloon verwijderen hier downloaden - VBA Rij Excel-sjabloon verwijderen

Voorbeeld 1

In VBA moeten we de rij vermelden die we verwijderen.

Code:

 Sub DeleteRow_Example1 () Cellen (1, 1) End Sub 

Cellen (1, 1) betekent eerste rij eerste kolom dwz A1 cel. Dan gebruiken we de methode “verwijderen”.

Code:

 Sub DeleteRow_Example1 () Cellen (1, 1) .Verwijder End Sub 

Dit zal nu de eerste cel verwijderen. Alle waarden aan de rechterkant verschuiven een cel naar links.

Voorbeeld # 2

Als je de hele rij wilt verwijderen, moeten we de eigenschap "Gehele rij" gebruiken en vervolgens moeten we de methode "verwijderen" gebruiken om de hele rij van de geselecteerde cel te verwijderen.

Code:

Sub DeleteRow_Example2 () Cellen (1, 1) .EntireRow. Verwijder End Sub

Ik heb bijvoorbeeld als volgt een paar tekens in een Excel-blad ingevoerd.

Als ik nu deze code uitvoer, wordt de hele rij verwijderd en niet een enkele cel.

Voorbeeld # 3

We kunnen de rij op verschillende manieren verwijderen. In het bovenstaande voorbeeld hebben we de rij verwijderd met de eigenschap CELLS, nu zullen we zien hoe je deze kunt verwijderen met de eigenschap ROWS.

Nu moeten we vermelden wat de rij is die we moeten verwijderen, laten we zeggen dat we de 5e rij moeten verwijderen.

Gebruik nu de eigenschap "Gehele rij".

Na het selecteren van de eigenschap wat we moeten doen, dwz methode. We moeten de rij verwijderen.

Code:

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

Deze code verwijdert dus de 5e rij.

Voorbeeld # 4

Verwijder meerdere rijen met behulp van een bereikobject

Hoe verwijderen we meerdere rijen?

We kunnen het VBA RANGE-object gebruiken om meer dan één rij te verwijderen. Stel dat u enkele waarden heeft van A1 tot A6-cellen.

Nu wil ik de eerste 5 rijen verwijderen, zodat ik naar deze rijen kan verwijzen door het Range-object te gebruiken als 'Bereik (' A1: A5 ')'

Code:

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

Nu wil ik het woord "Gehele rij" -eigenschap gebruiken.

Code:

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

In deze hele rij moeten we de verwijderingsmethode uitvoeren, dus gebruik de methode Verwijderen.

Code:

 Sub DeleteRow_Example4 () Bereik ("A1: A5"). Gehele rij. Verwijderen Einde Sub 

Dit zal nu de geselecteerde rijen verwijderen.

Voorbeeld # 5

Verwijder rijen op basis van celwaarde

We kunnen ook deze "GeheleRow.Delete" -methode gebruiken om de rij te verwijderen op basis van de celwaarde in VBA. Ik heb bijvoorbeeld Ja & Nee-waarden van cel A1 tot A10.

Nu moeten we de rijen verwijderen die de waarde "Nee" hebben. Om deze taak uit te voeren, moeten we de functie "IF" met lussen gebruiken om alle rijen met de waarde "No" te verwijderen.

Onderstaande code zal het werk voor ons doen.

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 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.