VBA Radera kolumn

Normalt har vi i Excel-kalkylblad två olika metoder för att radera kolumner, en är kortkommandot och en annan genom att använda högerklick- och infoga-metoden, men i VBA måste vi använda delete-kommandot och hela kolumnuttrycket för att radera en kolumn tillsammans, tricket att 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 "ta bort kolumn". 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 raderas. 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 radera 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 med kolumnrubriker, dvs alfabet.

Kolumner (“A: D”). Radera

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

Så här kan vi använda metoden "Radera kolumn" i VBA för att radera de specifika kolumnerna. I avsnittet nedan kommer vi att se 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ända 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 kommer inte att få IntelliSense-listan för att välja Delete-metoden, skriv bara "Delete",

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 alfabet, vi kan inte använda kolumnnummer här.

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

Koda:

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

Kör den här koden manuellt genom köralternativet eller tryck på F5-tangenten, detta raderar kolumnerna "Feb", "Mar" och "Apr".

Exempel # 2 - Ta bort kolumner med kalkylbladets namn

Ovanstående är en översikt över hur du tar bort kolumner med VBA-kod. Det är dock inte bra praxis att ta bort kolumner, utan att hänvisa till kalkylbladets namn är det farligt att radera kolumnen blindt.

Om du inte har nämnt kalkylbladets namn kommer det arket som är aktivt att ta bort kolumner i det arket.

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-objekt också.

Koda:

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

Detta raderar kolumnerna B till D i kalkylbladet "Försäljningsblad". För den här koden spelar det ingen roll vilken som är aktiv, men den tar 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 raderar också 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 under koden.

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 hjälp av F5-tangenten eller manuellt då kommer den att radera 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 cellkolumner

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 under koden kommer 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 tom cell behöver vi specialcellsegenskap 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.

Varhelst 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