Deze zelfstudie demonstreert verschillende manieren om rijen en kolommen in Excel te verwijderen met VBA.
Hele rij of kolom verwijderen
Gebruik deze regel code om een hele rij in VBA te verwijderen:
1 | Rijen(1).Verwijderen |
Merk op dat we de gebruiken Verwijderen methode om een rij te verwijderen.
In plaats van te verwijzen naar de Rijen Object, kunt u naar rijen verwijzen op basis van hun Bereikobject met Hele rij:
1 | Bereik ("a1"). Gehele rij.Verwijderen |
Gebruik deze coderegels op dezelfde manier om een hele kolom te verwijderen:
1 | Kolommen(1).Verwijderen |
1 | Bereik ("a1").Gehele kolom.Verwijderen |
Meerdere rijen of kolommen verwijderen
Met dezelfde logica kunt u ook meerdere rijen tegelijk verwijderen:
1 | Rijen ("1:3").Verwijderen |
of kolommen:
1 | Kolommen ("A:C").Verwijderen |
Merk op dat we hier verwijzen naar de specifieke rij- en kolomnummers / letters tussen aanhalingstekens.
Natuurlijk kunt u ook verwijzen naar de hele rij van een reeks:
1 | Bereik ("a1:a10"). Gehele rij.Verwijderen |
Opmerking: de onderstaande voorbeelden 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
In dit voorbeeld wordt een rij verwijderd als de hele rij leeg is:
1234567891011 | Sub DeleteRows_EntireRowBlank()Dim cel als bereikVoor elke cel binnen bereik ("b2:b20")Als Application.WorksheetFunction.CountA(cell.EntireRow) = 0 Dancel.Volledige rij.VerwijderenStop alsVolgende celEinde sub |
Het maakt gebruik van de Excel-werkbladfunctie: AANTAL.
Rij verwijderen als cel leeg is
Hiermee wordt een rij verwijderd als een specifieke kolom in die rij leeg is (in dit geval kolom B):
1 | Bereik ("b3:b20").SpecialCells(xlCellTypeBlanks).EntireRow.Delete |
Rij verwijderen op basis van celwaarde
Dit doorloopt een bereik en verwijdert rijen als een bepaalde celwaarde in die rij "verwijderen" zegt.
1234567891011 | Sub Verwijder RijenmetSpecifiekeWaarde()Dim cel als bereikVoor elke cel binnen bereik ("b2:b20")If cell.Value = "verwijderen" Dancel.Volledige rij.VerwijderenStop alsVolgende celEinde sub |
Meer Voorbeelden van rijen en kolommen verwijderen
Dubbele rijen verwijderen
Met deze code worden alle dubbele rijen in een bereik verwijderd:
1 | Range("b2:c100").RemoveDuplicates Columns:=2 |
Merk op dat we Columns:=2 hebben ingesteld. Dit vertelt VBA om zowel de eerste twee kolommen met gegevens te controleren als wordt gekeken 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.
1 | ThisWorkbook.Sheets("Blad1").ListObjects("list1").ListRows(2).Verwijderen |
Gefilterde rijen verwijderen
Om alleen rijen te verwijderen die zichtbaar zijn na het filteren:
1 | Range("b3:b20").SpecialCells(xlCellTypeVisible).EntireRow.Delete |
Rijen in bereik verwijderen
Met deze code worden alle rijen in het bereik verwijderd:
1 | Bereik ("a1:a10"). Gehele rij.Verwijderen |
Geselecteerde rijen verwijderen
Deze code verwijdert alle geselecteerde rijen:
1 | Selectie.Gehele rij.Verwijderen |
Laatste rij verwijderen
Hiermee wordt de laatst gebruikte rij in kolom B verwijderd:
1 | Cellen (Rijen.Aantal, 2).End(xlUp).VolledigeRij.Verwijderen |
Door 2 in 1 te veranderen, kunt u de laatst gebruikte rij in kolom A verwijderen, enz.:
1 | Cellen(Rijen.Aantal, 1).End(xlUp).VolledigeRij.Verwijderen |
Kolommen op nummer verwijderen
Gebruik een code als deze om een kolom op nummer te verwijderen:
1 | Kolommen (2).Verwijderen |