VBA Radera kolumn - Topp 4 Metoder för att ta bort Excel-kolumner med VBA

Innehållsförteckning

Normalt har vi i Excel-kalkylblad två olika metoder för att radera kolumner, en är kortkommandon och en annan genom att använda högerklicka och infoga-metoden, men i VBA måste vi använda delete-kommandot och hela kolumnuttrycket för att radera en kolumn tillsammans det här är att om vi behöver ta bort en enda kolumn ger vi en enda kolumnreferens men för de flera kolumnerna ger vi flera kolumnreferenser.

Excel VBA Radera kolumn

Vi utför många åtgärder i excel som klipp, kopiera, klistra in, lägga till, ta bort, infoga och många sådana saker vi gör regelbundet. Vi kan använda alla dessa åtgärder med hjälp av VBA-kodning. Ett av de viktiga begreppen vi behöver lära oss är i VBA är "raderingskolumnen". I den här artikeln visar vi dig hur du använder det här alternativet Radera kolumn i VBA.

Vad gör Radera kolumn i Excel VBA?

Som namnet säger kommer den angivna kolumnen att tas bort. För att utföra denna uppgift måste vi först identifiera vilken kolumn vi behöver ta bort. Valet av kolumner som ska tas bort skiljer sig från ett scenario till ett annat, så vi kommer att täcka några av de viktiga och ofta inför scenarierna i den här artikeln.

Det är enkelt att ta bort kolumnerna. Först måste vi använda egenskapen COLUMNS för att välja kolumnen, så nedan är syntaxen för Column Delete-metoden i VBA.

Kolumner (Kolumnreferens). Radera

Så vi kan konstruera koden så här:

Kolumner (2). Radera eller Kolumner (“B”). Radera

Detta tar bort kolumn nummer 2, dvs. kolumn B.

Om vi ​​vill ta bort flera kolumner kan vi inte ange kolumner. Vi måste referera till kolumnerna efter kolumnrubriker, dvs. alfabet.

Kolumner (“A: D”). Radera

Detta tar bort kolumnen från A till D, dvs de första 4 kolumnerna.

Så här kan vi använda metoden "Radera kolumn" i VBA för att radera de specifika kolumnerna. I avsnittet nedan ser vi fler exempel för att förstå det bättre. Läs vidare.

Exempel på Excel VBA Radera kolumnmetod

Nedan följer exemplen för att radera kolumner med VBA.

Exempel # 1 - Använd Radera Metod

Antag att du har databladet, något liknande nedan.

Om vi ​​vill ta bort kolumnmånaden "Mar", välj först kolumnegenskapen.

Koda:

Sub Delete_Example1 () Kolumner (End Sub

Nämn kolumnnummer eller alfabet. I det här fallet är det antingen 3 eller C.

Koda:

Under Radera_Exempel1 () Kolumner (3). Avsluta sub

Använd metoden Ta bort.

Obs! Du får inte IntelliSense-listan för att välja Radera-metoden. Skriv bara ”Radera”

Koda:

Sub Delete_Example1 () Kolumner (3). Radera End Sub

Eller så kan du ange kolumnadressen så här.

Koda:

Sub Delete_Example1 () Kolumner ("C"). Radera End Sub

Kör den här koden med F5-tangenten, eller så kan du köra manuellt och se resultatet.

Båda koderna kommer att göra samma jobb för att radera den nämnda kolumnen.

Om vi ​​vill ta bort flera kolumner måste vi nämna dem i alfabetet. Vi kan inte använda kolumnnummer här.

Om vi ​​vill ta bort kolumnerna 2 till 4 kan vi skicka koden enligt nedan.

Koda:

Sub Delete_Example1 () Kolumner ("C: D"). Radera End Sub

Kör koden manuellt genom köralternativet eller tryck på F5-tangenten. Detta tar bort kolumnerna "Feb", "Mar" och "Apr."

Exempel # 2 - Ta bort kolumner med kalkylbladets namn

Ovanstående är en översikt över hur man tar bort kolumner med VBA-kod. Det är dock inte bra praxis att radera kolumner. Utan att hänvisa kalkylbladets namn är det farligt att blint radera kolumnen.

Om du inte har nämnt kalkylbladsnamnet, raderar kolumnerna i det arket vilket ark som är aktivt.

Först måste vi välja kalkylbladet med dess namn.

Koda:

Sub Delete_Example2 () Kalkylblad ("Sales Sheet") Välj End Sub

Efter att ha valt arket måste vi välja kolumner. Vi kan också välja kolumner med hjälp av VBA RANGE-objektet också.

Koda:

Sub Delete_Example2 () Kalkylblad ("Sales Sheet"). Välj Range ("B: D"). Ta bort End Sub

Detta tar bort kolumnerna B till D i kalkylbladet "Försäljningsblad". För den här koden spelar det ingen roll vilken som är aktiv. Ändå tar det bara bort de nämnda kolumnerna i det arket.

Vi kan också konstruera VBA-koden i själva enstaka raden.

Koda:

Sub Delete_Example2 () Kalkylblad ("Sales Sheet"). Område ("B: D"). Radera End Sub

Detta tar också bort kolumnerna "B till D" utan att välja kalkylbladet "Försäljningsblad".

Exempel # 3 - Ta bort tomma kolumner

Antag att du har data som har alternativa tomma kolumner som nedan.

Så ta bort alla alternativa kolumner som vi kan använda nedanstående kod.

Koda:

Sub Delete_Example3 () Dim k som heltal För k = 1 till 4 kolumner (k + 1). Radera nästa k End Sub

Kör den här koden med F5-tangenten eller manuellt. Sedan tar den bort alla alternativa tomma kolumner, och våra data kommer att se ut så här.

Obs: Detta fungerar bara för alternativa tomma kolumner.

Exempel # 4 - Radera tomma celler kolumner

Titta nu på det här exemplet. Det finns vissa situationer där vi måste ta bort hela kolumnen om någon av de tomma cellerna finns i dataområdet. Tänk på nedanstående data för ett exempel.

Alla de gulfärgade cellerna är tomma. Så här är mitt krav att ta bort alla tomma celler kolumner. Koden nedan gör det.

Koda:

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

Låt mig förklara den här koden rad för rad åt dig.

Våra data finns där från A1 till F9, så först måste jag välja det intervallet, och nedanstående kod kommer att göra det.

Område ("A1: F9"). Välj

I det valda cellområdet måste jag välja de celler som är tomma. Så för att välja en tom cell behöver vi specialcellegenskap, och i den egenskapen har vi använt celltyp som tomt.

Selection.SpecialCells (xlCellTypeBlanks) .Välj

Därefter markerar det alla tomma celler, och i markeringen tar vi bort hela kolumnen i markeringen.

Selection.EntireColumn.Delete

Så vårt slutresultat kommer att se ut så här.

Oavsett var den har hittat den tomma cellen har den tagit bort de tomma cellerna hela kolumnen.

Du kan ladda ner Excel VBA Radera kolumn här - VBA Radera kolumnmall

Intressanta artiklar...