Rij verwijderen met VBA (14 manieren)

  • Deel Dit
Hugh West

Als u op zoek bent naar enkele van de gemakkelijkste manieren om rijen te verwijderen met behulp van VBA dan bent u op de juiste plaats.

Laten we in het hoofdartikel duiken.

Werkboek downloaden

VBA Rij verwijderen.xlsm

14 Manieren om een rij te verwijderen met VBA

Hier heb ik de drie gegevenstabellen om de manieren van het verwijderen van rijen met behulp van VBA De eerste tabel bevat enkele Producten van een bedrijf en hun Maten , Prijzen .

De tweede heeft wat Productcodes en hun overeenkomstige Product Maten en Prijzen

En de laatste bevat wat Projectnamen en hun respectieve Startdata en Kosten .

Voor het maken van het artikel heb ik gebruik gemaakt van Microsoft Excel 365 versie, kunt u andere versies gebruiken, afhankelijk van uw gemak.

Methode-1: Een enkele rij verwijderen met VBA

Laten we zeggen dat u de rij met Product Schoen 1, en om deze enkele rij te verwijderen kunt u deze methode volgen.

Step-01 :

Ga naar Ontwikkelaar Tab>> Visual Basic Optie

Dan, de Visual Basic-editor gaat open.

Ga naar Plaats Tab>> Module Optie

Daarna, een Module zal worden gecreëerd.

Step-02 :

Schrijf de volgende code

 Sub dltrow1() Werkbladen("Enkel").Rijen(7).HeleRij.Verwijderen Einde Sub 

Hier, "Single" is de naam van het werkblad, en Rijen(7) selecteert het rijnummer.

.EntireRow.Delete verwijdert de hele rij 7.

➤Press F5

Resultaat :

Zo verwijdert u de rij met de Product naam Schoen 1 .

Lees meer: Rijen verwijderen in Excel: 7 methoden

Methode-2: Meerdere rijen verwijderen met VBA

Als u meerdere rijen wilt verwijderen, zoals de rijen met de Product namen Schoen1 , Shoe2, en Shoe3 dan kun je dit volgen VBA code.

Step-01 :

volgen Step-01 van Methode-1

 Sub dltrow2() Rij(13).EntireRow.Delete Rij(10).EntireRow.Delete Rij(7).EntireRow.Delete End Sub 

Hier worden de rijnummers 13, 10 en 7 gewist, en bij het opeenvolgend schrijven van de rijnummers moet u van het laatste rijnummer naar het eerste rijnummer schrijven zoals in deze code.

Anders zullen na het verwijderen van de eerste rij, zoals rij 7, de overige rijen onder deze rij één rij opschuiven en dus zal rij 10 rij 9 worden, en rij 13 rij 12. Daarom zult u de juiste rijen niet kunnen verwijderen.

➤Press F5

Resultaat :

Vervolgens verwijdert u de rijen die de Product namen Schoen 1 , Shoe2, en Shoe3 .

Lees meer: Hoe meerdere rijen verwijderen in Excel (3 methoden)

Methode-3: Een rij verwijderen door te selecteren

Hier toon ik de manier om een rij te verwijderen met betrekking tot een actieve cel van die rij.

Step-01 :

volgen Step-01 van Methode-1

 Sub dltrow3() ActiveCell.EntireRow.Delete End Sub 

Het zal de rij met een actieve cel verwijderen.

Sla de code op.

Step-02 :

➤Selecteer een cel van een rij die u wilt verwijderen ( Hier heb ik cel geselecteerd B7 )

Ga naar Ontwikkelaar Tab>> Macro's Optie

Daarna wordt de Macro Wizard gaat open.

Selecteer de Macro naam dltrow3 en druk op Ren

Resultaat :

Daarna verwijdert u de rij met de Product naam Schoen 1 .

Methode-4: Alle rijen in de selectie verwijderen

Voor het verwijderen van alle rijen van een selectie kunt u deze methode volgen.

Step-01 :

volgen Step-01 van Methode-1

 Sub dltrow4() Selection.EntireRow.Delete End Sub 

Het zal alle rijen van de selectie wissen.

Sla de code op.

Step-02 :

➤Selecteer het bereik van de rijen die u wilt verwijderen (hier heb ik bereik geselecteerd B7:D9 )

Ga naar Ontwikkelaar Tab>> Macro's Optie

Daarna wordt de Macro Wizard gaat open.

Selecteer de Macro naam dltrow4 en druk op Ren

Resultaat :

Vervolgens verwijdert u de rijen die de Product namen Schoen 1 , Jasje 1, en Jasje2 .

Lees meer: Hoe geselecteerde rijen verwijderen in Excel(8 benaderingen)

Methode-5: Een rij verwijderen als een cel leeg is

Hier heb ik een lege cel die B9 (Ik heb de waarde uit deze cel verwijderd voor deze methode), en met behulp van een VBA code zal ik de rij met B9 cel.

Step-01 :

volgen Step-01 van Methode-1

 Sub dltrow5() Range("B5:D13").SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub 

Het zal alle rijen in het bereik verwijderen "B5:D13" met een lege cel.

➤Press F5

Resultaat :

Dan kunt u de rij met de lege cel verwijderen.

Lees meer: Hoe lege rijen verwijderen in Excel (11 methoden)

Methode-6: Een rij verwijderen als de hele rij leeg is

Hier heb ik een lege cel die B9 (ik heb de waarden voor deze methode verwijderd), en een lege rij die rij 12 is (ik heb de waarden voor deze methode verwijderd), en met behulp van een VBA code en de Functie COUNTA Ik verwijder de rij die leeg is.

Step-01 :

volgen Step-01 van Methode-1

 Sub dltrow6() Dim cel Als Bereik Voor Elke cel In Bereik("B5:D13") Als Application.WorksheetFunction.CountA(cell.EntireRow) = 0 Dan cell.EntireRow.Delete End If Volgende cel End Sub 

"B5:D13" is het gegevensbereik en VOOR lus werkt voor elke cel in dit bereik.

CountA(cell.EntireRow) geeft het aantal niet-blanke cellen en als het 0 wordt, wordt de rij verwijderd.

➤Press F5

Resultaat :

Daarna kunt u de lege rij verwijderen, maar het zal geen enkele rij verwijderen waarvan niet alle cellen van deze rij leeg zijn.

Lees meer: Hoe VBA gebruiken om lege rijen in Excel te verwijderen

Methode-7: Elke n-de rij verwijderen

U kunt elke n-de rij (in dit geval elke 3-de rij) verwijderen door deze methode te volgen.

Step-01 :

volgen Step-01 van Methode-1

 Sub dltrow7() rc = Range("B5:D13").Rows.Count For i = rc To 1 Step -3 Range("B5:D13").Rows(i).EntireRow.Delete Next i End Sub 

"B5:D13" is het gegevensbereik en rc geeft het totale rijnummer van dit bereik, dat is 9 .

Hier is de VOOR lus zal beginnen bij de laatste rij die rc of 9 in dit geval en eindigt met de eerste rij.

Stap -3 zal helpen om elke 3e rij in dit bereik.

➤Press F5

Resultaat :

Vervolgens verwijdert u de rijen die de Product namen Schoen 1 , Shoe2, en Schoen3 .

Lees meer: Hoe elke n-de rij verwijderen in Excel (gemakkelijkste 6 manieren)

Vergelijkbare lezingen:

  • Geselecteerde rijen verwijderen met Excel VBA (stap-voor-stap handleiding)
  • Ongebruikte rijen verwijderen in Excel (8 eenvoudige manieren)
  • Verborgen rijen verwijderen in Excel (3 methoden)
  • Oneindig veel rijen verwijderen in Excel (5 eenvoudige manieren)
  • Hoe rijen verwijderen in Excel die eeuwig doorgaan (4 eenvoudige manieren)

Methode-8: Rij verwijderen op basis van celwaarde

In deze methode verwijder ik de rij met een specifieke waarde Shirt 2 .

Step-01 :

volgen Step-01 van Methode-1

 Sub dltrow8() Dim cel Als Bereik Voor Elke cel In Bereik("B5:D13") Als cel.Waarde = "Shirt 2" Dan cell.EntireRow.Delete End If Volgende cel End Sub 

"B5:D13" is het gegevensbereik en de VOOR lus werkt voor elke cel in dit bereik.

Als een cel van een rij de waarde "Shirt 2" dan wordt de rij verwijderd.

➤Press F5

Resultaat :

Zo verwijdert u de rij met de Product naam Shirt 2 .

Lees meer: VBA Macro om rij te verwijderen als cel waarde bevat in Excel (2 methoden)

Methode-9: Verwijderen van dubbele rijen

Hier heb ik twee rijen met een Productcode 97375 en dus wil ik een van deze rijen verwijderen, die hieronder met een rood vakje zijn gemarkeerd.

Step-01 :

volgen Step-01 van Methode-1

 Sub dltrow9() Range("B5:D13").RemoveDuplicates Kolommen:=1 Einde Sub 

Hier, "B5:D13" is het gegevensbereik en Kolommen:=1 betekent dat slechts in één kolom, de startkolom, naar dubbele waarden wordt gezocht. Kolom B maar als u ook in andere kolommen wilt zoeken, kunt u dit nummer naar behoefte gebruiken.

➤Press F5

Resultaat :

Daarna kunt u de rij verwijderen die op een andere rij lijkt.

Lees meer: Hoe te verwijderen dubbele rijen in Excel met VBA (8 effectieve manieren)

Methode-10: Rijen in een tabel verwijderen

Stel, u heeft de volgende tabel met de naam Tabel 1 en nu wilt u rij nummer 6 van deze tabel verwijderen. Daarvoor kunt u deze methode volgen.

Step-01 :

volgen Step-01 van Methode-1

 Sub dltrow10() ActiveWorkbook.Worksheets("Table").ListObjects("Table1").ListRows(6).Delete End Sub 

Hier, "Tafel" is de naam van het blad, "Table1" is de tabelnaam en 6 is het rijnummer van deze tabel dat u wilt verwijderen.

➤Press F5

Resultaat :

Zo verwijdert u de gewenste rij van deze tabel.

Lees meer: Hoe dubbele rijen verwijderen op basis van één kolom met Excel VBA

Methode-11: Zichtbare rijen verwijderen na filteren

Hier heb ik een gegevenstabel die wordt gefilterd door de Prijs kolom voor waarden meer dan $1,500.00 en ik wil alle zichtbare rijen verwijderen na het filteren.

Step-01 :

volgen Step-01 van Methode-1

 Sub dltrow11() Range("B5:D13").SpecialCells(xlCellTypeVisible).EntireRow.Delete End Sub 

Hier, "B5:D13" is het gegevensbereik.

➤Press F5

Nu worden alle zichtbare rijen na het filteren gewist. U kunt nu de verborgen rijen terugbrengen door de optie Filter teken in de Prijs column.

Klik op de Selecteer alles optie

➤Press OK

Resultaat :

Tenslotte krijgt u de verborgen rijen terug in de gegevenstabel.

Lees meer: Rijen filteren en verwijderen met VBA in Excel (2 methoden)

Methode-12: Rij verwijderen op basis van de laatste actieve cel

Hier is mijn laatste actieve cel cel B13 en ik wil dit verwijderen met de laatste actieve cel van de volgende gegevenstabel.

Step-01 :

volgen Step-01 van Methode-1

 Sub dltrow12() Cellen(Rows.Count, 2).End(xlUp).EntireRow.Delete End Sub 

Hier, 2 betekent Kolom B waarop ik mijn actieve cel heb, je kunt het nummer veranderen naargelang je behoeften.

➤Press F5

Resultaat :

Zo verwijdert u uw laatste actieve rij.

Lees meer: Excel VBA-code om rijen te verwijderen op basis van meerdere celwaarden (3 criteria)

Methode-13: Rijen met Strings verwijderen

Stel dat u de rijen met een willekeurige string wilt verwijderen, dan kunt u deze methode volgen.

Step-01 :

volgen Step-01 van Methode-1

 Sub dltrow13() Dim FirstRow As Long Dim LastRow As Long Dim FirstColumn As Long Dim LastColumn As Long Dim sheet As Worksheet Dim Rng As Range FirstRow = 5 FirstColumn = 2 Set sheet = Worksheets("String") With sheet With .Cells LastRow = .Find(What:="*", LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row LastColumn = .Find(What:="*",LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column End With Set Rng = .Range(.Cells(FirstRow, FirstColumn), .Cells(LastRow, LastColumn)) End With On Error Resume Next Rng.SpecialCells(xlCellTypeConstants, xlTextValues).EntireRow.Delete End Sub 

Hier, "string" is de bladnaam, het nummer van de eerste rij van dit gegevensbereik is 5 en het startkolomnummer is 2

De Met statement kunt u een object of een door de gebruiker gedefinieerd type eenmaal specificeren voor een hele reeks statements.

Bij fout Hervat Volgende geeft aan dat, wanneer een run-time fout optreedt, de besturing naar de instructie gaat die volgt op de instructie waarin de fout optreedt.

LastRow en LastColumn geeft de laatste rij en kolom van het gegevensbereik.

SpecialCells(xlCellTypeConstants, xlTextValues) selecteert de rijen met tekstwaarden in het bereik.

➤Press F5

Resultaat :

Daarna verwijdert u de rijen met een tekststring.

Lees meer: Excel snelkoppeling om rijen te verwijderen (met bonus technieken)

Methode-14: Rij verwijderen op basis van data

Hier zal ik de rijen met een speciale datum verwijderen 11/12/2021 (mm/dd/jjjj) in deze methode met behulp van de DATEVALUE functie .

Step-01 :

volgen Step-01 van Methode-1

 Sub dltrow14() Dim FirstRow As Long Dim LastRow As Long Dim CriteriaColumn As Long Dim myDate As Date Dim sheet As Worksheet Dim i As Long Dim myRowsWithDate As Range FirstRow = 5 CriteriaColumn = 3 myDate = DateValue("11/12/2021") Set sheet = Worksheets("Date") With sheet LastRow = .Cells.Find(What:="*", LookIn:=xlFormulas, LookAt:=xlPart, _ SearchOrder:=xlByRows,SearchDirection:=xlPrevious).Row For i = LastRow To FirstRow Step -1 With .Cells(i, CriteriaColumn) If .Value = myDate Then If Not myRowsWithDate Is Nothing Then Set myRowsWithDate = Union(myRowsWithDate, .Cells) Else Set myRowsWithDate = .Cells End If End If End WithVolgende i End With If Not myRowsWithDate Is Nothing Then myRowsWithDate.EntireRow.Delete End Sub 

Hier, "Datum" is de bladnaam, het nummer van de eerste rij van dit gegevensbereik is 5 en de criteria kolom (welke kolom heeft data) nummer is 3 .

De Met statement kunt u een object of een door de gebruiker gedefinieerd type eenmaal specificeren voor een hele reeks statements.

Bij fout Hervat Volgende geeft aan dat, wanneer een run-time fout optreedt, de besturing naar de instructie gaat die volgt op de instructie waarin de fout optreedt.

LastRow geeft de laatste rij van het gegevensbereik terug en hier is de VOOR lus zal beginnen bij de laatste rij die LastRow of 6 in dit geval, en eindigt met de eerste rij.

DATEVALUE zet tekstdatum om in waarde.

Hier, Unie geeft de unie van meerdere bereiken die overeenkomen met de cellen met de datum 11/12/2021 en tenslotte worden de reeksen gewist.

➤Press F5

Resultaat :

Daarna verwijdert u de rijen met een bepaalde datum van 11/12/2021 .

Gerelateerde inhoud: Excel VBA om rijen met specifieke gegevens te verwijderen (9 voorbeelden)

Praktijk Sectie

Om zelf te oefenen hebben we een Praktijk sectie zoals hieronder in een blad met de naam Praktijk Doe het alsjeblieft zelf.

Conclusie

In dit artikel heb ik geprobeerd de gemakkelijkste manieren om VBA effectief voor het verwijderen van rijen. Hopelijk vind je het nuttig. Als je suggesties of vragen hebt, voel je vrij om ze te delen in de commentaarsectie.

Hugh West is een zeer ervaren Excel-trainer en -analist met meer dan 10 jaar ervaring in de branche. Hij heeft een bachelor in Accounting en Finance en een master in Business Administration. Hugh heeft een passie voor lesgeven en heeft een unieke lesaanpak ontwikkeld die gemakkelijk te volgen en te begrijpen is. Zijn deskundige kennis van Excel heeft duizenden studenten en professionals over de hele wereld geholpen hun vaardigheden te verbeteren en uit te blinken in hun carrière. Via zijn blog deelt Hugh zijn kennis met de wereld en biedt hij gratis Excel-tutorials en online trainingen aan om individuen en bedrijven te helpen hun volledige potentieel te bereiken.