Skip to content
Natuurondernemer
    mei 6, 2020 by admin

    Hoe de hele rij te verwijderen in Excel met behulp van VBA (voorbeelden)

    Hoe de hele rij te verwijderen in Excel met behulp van VBA (voorbeelden)
    mei 6, 2020 by admin

    Het toevoegen en verwijderen van rijen is onderdeel van de dagelijkse gemeenschappelijke taken bij het werken met Excel.

    Hoewel u dit gemakkelijk kunt doen vanuit het werkblad zelf, wilt u soms de VBA route gebruiken om rijen te verwijderen in Excel. Dit kan zijn het verwijderen van een specifieke rij, meerdere rijen in de selectie, het verwijderen van alternatieve rijen of die met een specifieke waarde erin.

    In deze tutorial zal ik u laten zien hoe u rijen in Excel kunt verwijderen met behulp van VBA (meerdere scenario’s).

    Dus laten we beginnen!

    Deze Tutorial behandelt:

    Een hele rij verwijderen met VBA

    Om een hele rij in Excel te verwijderen met behulp van VBA, moet u de methode EntireRow.Delete-methode gebruiken.

    Wilt u bijvoorbeeld de hele eerste rij in een werkblad verwijderen, dan kunt u de onderstaande code gebruiken:

    Sub DeleteEntireRow()Rows(1).EntireRow.DeleteEnd Sub

    De bovenstaande code specificeert eerst de rij die moet worden verwijderd (wat wordt gedaan door het nummer tussen haakjes op te geven) en gebruikt vervolgens de methode EntireRow.Delete methode om het te verwijderen.

    U kunt ook meerdere rijen verwijderen door deze rijen in de code op te geven.

    Voorbeeld, de onderstaande code verwijdert de rijen 1, 5 en 9 in het werkblad:

    Sub DeleteEntireRow()Rows(9).EntireRow.DeleteRows(5).EntireRow.DeleteRows(1).EntireRow.DeleteEnd Sub

    De bovenstaande code gebruikt dezelfde logica, waarbij het de rijnummers opgeeft en Excel deze rijen één voor één verwijdert.

    HOOG BELANGRIJK: Wanneer u rijen verwijdert met iets dat lijkt op de bovenstaande code, moet u beginnen met verwijderen vanaf de onderkant en dan naar boven gaan. Als u bijvoorbeeld bovenaan begint en eerst rij 1 verwijdert, worden alle rijen eronder een rij naar boven verschoven en wordt de nummering niet meer juist (rij 5 wordt rij 4 enzovoort)

    Alle rijen in de selectie verwijderen

    Als u alle rijen in een geselecteerd cellenbereik wilt verwijderen, kunt u de onderstaande VBA-macrocode gebruiken:

    Sub DeleteEntireRow()Selection.EntireRow.DeleteEnd Sub

    De bovenstaande code is van toepassing op de methode EntireRow.Delete methode op de gehele selectie.

    Alternatieve rijen verwijderen (of Elke Derde/vierde/Nde rij verwijderen)

    Soms krijgt u een datadump waarbij elke tweede rij (of derde, vierde of N-de rij) nutteloos is en moet worden verwijderd.

    Ik heb met financiële gegevens gewerkt waarbij elke tweede rij leeg was en moest worden verwijderd.

    Dit is het soort scenario waarin VBA echt uitblinkt.

    Hieronder staat de VBA-code die door alle rijen in de selectie gaat en elke tweede rij verwijdert:

    Sub DeleteAlternateRows()RCount = Selection.Rows.CountFor i = RCount To 1 Step -2 Selection.Rows(i).EntireRow.DeleteNext iEnd Sub

    Laat me uitleggen hoe deze VBA-code werkt.

    Eerst heb ik een variabele RCount gebruikt om het totaal aantal rijen in de selectie te krijgen.

    Daarna heb ik een For Next-lus gebruikt om dit zo vaak uit te voeren als er rijen zijn. Bijvoorbeeld, als er 12 rijen zijn, zal deze lus van 12 naar 1 lopen (dus 12 keer). Het is belangrijk om dit te doen vanaf de laatste rij in de selectie naar de eerste, omdat we niet willen dat de rijnummers veranderen als een rij wordt verwijderd.

    Ook wordt stap -2 gebruikt omdat we elke andere rij moeten verwijderen (van onder naar boven). Als u elke derde rij wilt verwijderen, kunt u -3 gebruiken.

    In de VBA-lus heb ik de methode Selection.Rows(i).EntireRow.Delete gebruikt om elke alternatieve rij te verwijderen.

    Blanco rijen verwijderen met VBA

    U kunt ook de methode EntireRow.Delete-methode gebruiken om alle lege rijen te verwijderen.

    Hieronder staat de VBA-code waarmee lege cellen in de geselecteerde dataset worden geselecteerd en de hele rij wordt verwijderd.

    Sub DeleteBlankRows()Selection.SpecialCells(xlCellTypeBlanks).EntireRow.DeleteEnd Sub

    De bovenstaande code maakt gebruik van de eigenschap SpecialCells om alle cellen die leeg zijn te selecteren en te verwijderen. Dit is dezelfde methode waarmee we ook het dialoogvenster ‘Ga naar speciaal’ kunnen gebruiken om alle lege cellen te selecteren.

    Als deze lege cellen eenmaal zijn geïdentificeerd met SpecialCell, worden deze vervolgens verwijderd met de methode EntireRow.Delete.

    Note: Deze methode selecteert cellen die leeg zijn en controleert niet of de hele rij leeg is of niet. Dus als een cel in een rij leeg is, wordt toch de hele rij verwijderd.

    Rijen met een specifiek woord/waarde verwijderen

    U kunt ook een eenvoudige VBA-code gebruiken om door elke cel in het geselecteerde bereik te gaan en alle rijen te verwijderen waarin een cel een specifieke tekst of waarde bevat.

    Voorbeeld: stel dat u een gegevensreeks hebt en ik wil alle cellen verwijderen die in kolom 2 van de selectie de tekst Printer hebben.

    Dataset waaruit hele rij met specifieke waarde verwijderen

    Hieronder staat de code die dit zal doen:

    Sub DeleteRowswithSpecificValue()For i = Selection.Rows.Count To 1 Step -1If Cells(i, 2).Value = "Printer" ThenCells(i, 2).EntireRow.DeleteEnd IfNext iEnd Sub

    De bovenstaande code telt eerst het totale aantal rijen in de selectie. Dit zal ervoor zorgen dat de lus slechts zoveel keer wordt uitgevoerd. Vervolgens wordt de ‘For Next loop’ gebruikt om door alle cellen in kolom 2 te gaan.

    De IF THEN ELSE verklaring wordt dan gebruikt om de waarde in elke cel in kolom 2 te controleren. En of de waarde/tekst overeenkomt met de opgegeven tekst (die in dit voorbeeld ‘Printer’ is).

    In dit voorbeeld heb ik gecontroleerd of de tekst overeenkomt met een specifieke tekenreeks of niet. Je kunt dit ook met waarden doen. Je kunt bijvoorbeeld alle rijen verwijderen waarvan de verkoopwaarde kleiner is dan 1000 of groter dan 1000.

    Note: Een belangrijk ding om hier op te merken is dat de lus loopt vanaf Selection.Rows.Count To 1 om er zeker van te zijn dat wanneer een rij wordt verwijderd, dit geen invloed heeft op de rijen erboven.

    Hoe deze VBA code te gebruiken

    Nu zal ik u laten zien hoe u alle codes kunt gebruiken die in deze handleiding zijn genoemd om de gehele rij te verwijderen.

    U moet deze codes kopiëren en plakken in een module in Excel VB Editor. Zodra u deze codes hebt gekopieerd, kunt u vervolgens de macro-codes uitvoeren.

    Hieronder vindt u de stappen om deze VBA-codes te kopiëren en in een module te plakken:

    1. Houd de ALT-toets ingedrukt en druk op de F11-toets (of Function + Option + F11 in Mac). Dit opent de VB-editor
    2. In de VB-editor ziet u de projectverkenner aan de linkerkant. Als u deze niet ziet, ga dan naar de View optie en klik dan op Project Explorer.Klik op Project Explorer
    3. Rechtsklik op een object in de Project Explorer (voor de werkmap waarin u de code wilt uitvoeren).Insert Module
    4. Ga naar Insert en klik dan op Module. Hierdoor wordt een nieuwe module voor de werkmap ingevoegdKopieer en plak om hele rij in de module te verwijderen
    5. Kopieer en plak de bovenstaande codes in de module.

    En om deze codes uit te voeren, kunt u de cursor ergens in de code plaatsen (die u wilt uitvoeren) en op de F5 toets drukken (of klik op het groene driehoekje in de VBA werkbalk).

    Ik heb ook een uitvoerige handleiding geschreven over verschillende manieren om VBA-macro’s in Excel uit te voeren.

    In het geval dat u een van deze codes vaak moet gebruiken, kunt u ook overwegen deze toe te voegen aan de Persoonlijke Macro Werkmap en vervolgens aan de QAT. Op die manier is de code met één klik beschikbaar in al uw werkmappen.

    Dit waren dus enkele VBA-codes die u kunt gebruiken om hele rijen in Excel te verwijderen (in verschillende scenario’s). Dezelfde logica kan ook worden toegepast in het geval u kolommen wilt verwijderen in plaats van rijen (met de overeenkomstige aanpassing in de codevoorbeelden).

    Hoop dat u deze tutorial nuttig vond!

    De volgende Excel-tutorials kunnen u ook bevallen:

    • Excel VBA Autofilter: Een complete gids met voorbeelden
    • Rijen verwijderen op basis van een celwaarde (of voorwaarde) in Excel
    • Een lege rij invoegen na elke rij in Excel (of elke N-de rij)
    • Hoe verwijder je snel COLUMNS in Excel

    Previous articleTop 10 warmtepompmerken van 2020 - Wat is het beste warmtepompmerk?Next article Mission: Impossible-ster Peter Graves overlijdt

    Geef een reactie Antwoord annuleren

    Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

    Meest recente berichten

    • Jezelf (en anderen…) vinden in jaarboeken online
    • Hoe zet u een bitcoin ASIC miner op
    • Wat is een Superfund-locatie?
    • Bloedwormen met visaas hebben bijensteek
    • Echolalie: De feiten voorbij “papegaaienpraat”, scripting, en echo
    • Lord of the Flies Cites
    • 42 Gezonde Crockpot Soep Recepten
    • 3 verrassende risico’s van een slechte houding
    • Vrouwelijke Betta Vis
    • Tina Fey Biografie

    Archief

    • april 2021
    • maart 2021
    • februari 2021
    • januari 2021
    • december 2020
    • november 2020
    • oktober 2020
    • september 2020
    • augustus 2020
    • juli 2020
    • juni 2020
    • mei 2020
    • april 2020
    • DeutschDeutsch
    • NederlandsNederlands
    • EspañolEspañol
    • FrançaisFrançais
    • PortuguêsPortuguês
    • ItalianoItaliano
    • PolskiPolski

    Meta

    • Inloggen
    • Berichten feed
    • Reacties feed
    • WordPress.org
    Posterity WordPress Theme