VBA Kolom verwijderen

Normaal gesproken hebben we in Excel-werkblad twee verschillende methoden om kolommen 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 volledige kolominstructie gebruiken om elke kolom samen te verwijderen, de truc om dit is dat als we een enkele kolom moeten verwijderen, we een enkele kolomreferentie geven, maar voor de meerdere kolommen geven we meerdere kolomreferenties.

Excel VBA Kolom verwijderen

We voeren veel acties uit in Excel, zoals knippen, kopiëren, plakken, toevoegen, verwijderen, invoegen en veel van dergelijke dingen doen we regelmatig. We kunnen al deze acties gebruiken met VBA-codering. Een van de belangrijke concepten die we moeten leren, is in VBA de "verwijderingskolom". In dit artikel laten we u zien hoe u deze optie Kolom verwijderen in VBA gebruikt.

Wat doet kolom verwijderen in Excel VBA?

Zoals de naam al zegt, wordt de opgegeven kolom verwijderd. Om deze taak uit te voeren, moeten we eerst bepalen welke kolom we moeten verwijderen. De selectie van te verwijderen kolommen verschilt van scenario tot scenario, dus we zullen in dit artikel enkele van de belangrijke en vaak voorkomende scenario's behandelen.

Het verwijderen van de kolommen is eenvoudig. Eerst moeten we de COLUMNS-eigenschap gebruiken om de kolom te selecteren, dus hieronder staat de syntaxis van de Column Delete-methode in VBA.

Kolommen (kolomverwijzing) Verwijderen

Dus we kunnen de code als volgt construeren:

Kolommen (2). Verwijderen of Kolommen ("B"). Verwijderen

Hierdoor wordt kolom nummer 2 verwijderd, dwz kolom B.

Als we meerdere kolommen willen verwijderen, kunnen we geen kolommen invoeren, we moeten naar de kolommen verwijzen door middel van kolomkoppen, dwz alfabetten.

Kolommen ("A: D"). Verwijderen

Hierdoor wordt de kolom van A tot D verwijderd, dwz de eerste 4 kolommen.

Op deze manier kunnen we de "Delete Column" -methode in VBA gebruiken om de specifieke kolommen te verwijderen. In het onderstaande gedeelte zullen we meer voorbeelden zien om het beter te begrijpen. Lees verder.

Voorbeelden van Excel VBA Delete Column Method

Hieronder staan ​​de voorbeelden om kolommen te verwijderen met VBA.

Voorbeeld # 1 - De verwijdermethode gebruiken

Stel dat u een gegevensblad heeft zoals hieronder.

Als we de kolom maand “Mar” willen verwijderen, selecteer dan eerst de eigenschap Column.

Code:

 Sub Delete_Example1 () Kolommen (End Sub 

Noem het kolomnummer of alfabet. In dit geval is het 3 of C.

Code:

Sub Delete_Example1 () Kolommen (3). Einde Sub

Gebruik de Delete-methode.

Opmerking: u krijgt geen IntelliSense-lijst om de verwijdermethode te selecteren, typ gewoon "Verwijderen",

Code:

 Sub Delete_Example1 () Columns (3) .Delete End Sub 

Of u kunt het kolomadres op deze manier invoeren.

Code:

 Sub Delete_Example1 () Kolommen ("C"). Verwijderen End Sub 

Voer deze code uit met de F5-toets of u kunt het handmatig uitvoeren en het resultaat zien.

Beide codes zullen hetzelfde werk doen als het verwijderen van de genoemde kolom.

Als we meerdere kolommen willen verwijderen, moeten we ze in alfabetten vermelden, we kunnen hier geen kolomnummers gebruiken.

Als we de kolommen 2 tot en met 4 willen verwijderen, kunnen we de code zoals hieronder doorgeven.

Code:

 Sub Delete_Example1 () Kolommen ("C: D"). Verwijderen End Sub 

Voer deze code handmatig uit via de optie run of druk op F5, hierdoor worden de kolommen "Feb", "Mar" en "Apr" verwijderd.

Voorbeeld # 2 - Kolommen met werkbladnaam verwijderen

Het bovenstaande is een overzicht van het verwijderen van kolommen met VBA-code. Dat is echter niet de goede gewoonte om kolommen te verwijderen, zonder de naam van het werkblad te vermelden, is het gevaarlijk om de kolom blindelings te verwijderen.

Als u de naam van het werkblad niet hebt genoemd, worden op welk blad dan ook de kolommen van dat blad verwijderd.

Eerst moeten we het werkblad op naam selecteren.

Code:

 Sub Delete_Example2 () Worksheets ("Verkoopblad"). Selecteer End Sub 

Nadat we het blad hebben geselecteerd, moeten we de kolommen selecteren. We kunnen de kolommen ook selecteren met behulp van het VBA RANGE-object.

Code:

 Sub Delete_Example2 () Worksheets ("Verkoopblad"). Selecteer bereik ("B: D"). Verwijder End Sub 

Hierdoor worden de kolommen B tot en met D van het werkblad "Verkoopblad" verwijderd. Voor deze code maakt het niet uit welke actief is, maar toch worden alleen de genoemde kolommen van dat blad verwijderd.

We kunnen de VBA-code ook in de enkele regel zelf construeren.

Code:

 Sub Delete_Example2 () Worksheets ("Sales Sheet"). Bereik ("B: D"). Delete End Sub 

Hierdoor worden ook de kolommen "B tot D" verwijderd zonder het werkblad "Verkoopblad" te selecteren.

Voorbeeld # 3 - Verwijder lege kolommen

Stel dat u gegevens heeft met alternatieve lege kolommen zoals hieronder.

Verwijder dus elke alternatieve kolom die we hieronder kunnen gebruiken.

Code:

 Sub Delete_Example3 () Dim k As Integer For k = 1 tot 4 Columns (k + 1). Delete Next k End Sub 

Voer deze code uit met de F5-toets of handmatig, het zal alle alternatieve lege kolommen verwijderen en onze gegevens zien er als volgt uit.

Opmerking: dit werkt alleen voor alternatieve lege kolommen.

Voorbeeld # 4 - Verwijder lege cellenkolommen

Kijk nu eens naar dit voorbeeld. Er zijn bepaalde situaties waarin we de hele kolom moeten verwijderen als een van de lege cellen in het gegevensbereik wordt gevonden. Beschouw de onderstaande gegevens als voorbeeld.

Alle geelgekleurde cellen zijn blanco. Dus hier is mijn vereiste om alle lege cellenkolommen te verwijderen. De onderstaande code zal dat doen.

Code:

 Sub Delete_Example4 () Range ("A1: F9"). Selecteer Selection.SpecialCells (xlCellTypeBlanks) .Selecteer Selection.EntireColumn.Delete End Sub 

Laat me deze code regel voor regel voor je uitleggen.

Onze gegevens zijn daar van A1 tot F9, dus eerst moet ik dat bereik selecteren, en onderstaande code zal dat.

Bereik ("A1: F9"). Selecteer

In dit geselecteerde celbereik moet ik de cellen selecteren die leeg zijn. Dus om een ​​lege cel te selecteren, hebben we een speciale celeigenschap nodig en in die eigenschap hebben we het celtype als blanco gebruikt.

Selection.SpecialCells (xlCellTypeBlanks) .Select

Vervolgens worden alle lege cellen geselecteerd en in de selectie verwijderen we de volledige kolom van de selectie.

Selection.EntireColumn.Delete

Dus ons eindresultaat ziet er zo uit.

Overal waar het de lege cel heeft gevonden, heeft het die lege cellen de hele kolom verwijderd.

U kunt deze Excel VBA Kolom verwijderen hier downloaden - VBA Kolomsjabloon verwijderen