VBA Gehele rij of kolom verwijderen – Excel automatiseren

In deze tutorial worden verschillende manieren getoond om rijen en kolommen in Excel te verwijderen met behulp van VBA.

Ele rij of kolom verwijderen

Om een hele rij in VBA te verwijderen gebruikt u deze regel code:

Rows(1).Delete

Merk op dat we de methode Delete gebruiken om een rij te verwijderen.

In plaats van naar het rijenobject te verwijzen, kunt u naar rijen verwijzen op basis van hun Range-object met EntireRow:

Range("a1").EntireRow.Delete

Ook om een hele kolom te verwijderen, gebruikt u deze regels code:

Columns(1).Delete
Range("a1").EntireColumn.Delete

Meerdere rijen of kolommen verwijderen

Met dezelfde logica kunt u ook meerdere rijen tegelijk verwijderen:

Rows("1:3").Delete

of kolommen:

Columns("A:C").Delete

Merk op dat we hier verwijzen naar de specifieke rij- en kolomnummers/letters, omgeven door aanhalingstekens.

U kunt natuurlijk ook verwijzen naar de EntireRow van een bereik:

Range("a1:a10").EntireRow.Delete

Note: De voorbeelden hieronder demonstreren alleen het verwijderen van rijen, maar zoals u hierboven kunt zien, is de syntaxis vrijwel identiek aan het verwijderen van kolommen.

Lege/lege rijen verwijderen

Dit voorbeeld verwijdert een rij als de hele rij leeg is:

Sub DeleteRows_EntireRowBlank()Dim cell As RangeFor Each cell In Range("b2:b20") If Application.WorksheetFunction.CountA(cell.EntireRow) = 0 Then cell.EntireRow.Delete End IfNext cellEnd Sub

Hierbij wordt gebruikgemaakt van de Excel-werkbladfunctie: COUNTA.

Verwijder rij als cel leeg is

Dit zal een rij verwijderen als specifieke kolom in die rij leeg is (in dit geval kolom B):

Range("b3:b20").SpecialCells(xlCellTypeBlanks).EntireRow.Delete

Verwijder rij op basis van celwaarde

Dit zal lus door een bereik, en verwijder rijen als een bepaalde celwaarde in die rij zegt “verwijderen”.

Sub DeleteRowswithSpecificValue()Dim cell As RangeFor Each cell In Range("b2:b20") If cell.Value = "delete" Then cell.EntireRow.Delete End IfNext cellEnd Sub

Meer voorbeelden van het verwijderen van rijen en kolommen

Verwijder dubbele rijen

Deze code verwijdert alle dubbele rijen in een bereik:

Range("b2:c100").RemoveDuplicates Columns:=2

Merk op dat we Columns:=2 hebben ingesteld. Dit vertelt VBA om zowel de eerste twee kolommen van gegevens te controleren bij het overwegen of rijen duplicaten zijn. Een duplicaat wordt alleen gevonden als beide kolommen dubbele waarden hebben.

Als we dit op 1 hadden gezet, zou alleen de eerste rij zijn gecontroleerd op dubbele waarden.

Tabelrijen verwijderen

Deze code verwijdert de tweede rij in een tabel door te verwijzen naar ListObjects.

ThisWorkbook.Sheets("Sheet1").ListObjects("list1").ListRows(2).Delete

Gefilterde rijen verwijderen

Om alleen rijen te verwijderen die zichtbaar zijn na filtering:

Range("b3:b20").SpecialCells(xlCellTypeVisible).EntireRow.Delete

Rijen in bereik verwijderen

Deze code zal alle rijen in het bereik verwijderen:

Range("a1:a10").EntireRow.Delete

Delete Selected Rows

Deze code zal alle geselecteerde rijen verwijderen:

Selection.EntireRow.Delete

Delete Last Row

Dit zal de laatst gebruikte rij in kolom B verwijderen:

Cells(Rows.Count, 2).End(xlUp).EntireRow.Delete

Door 2 te veranderen in 1, kunt u de laatst gebruikte rij in kolom A verwijderen, enz.

Cells(Rows.Count, 1).End(xlUp).EntireRow.Delete

Verwijder kolommen op nummer

Om een kolom op nummer te verwijderen, gebruikt u een code als deze:

Columns (2).Delete

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.