VBA oszlop törlése - A legnépszerűbb négy módszer az Excel oszlopok törlésére a VBA használatával

Tartalomjegyzék

Az excel munkalapon általában kétféle módszer áll rendelkezésre az oszlopok törléséhez: az egyik a billentyűparancs, a másik pedig a jobb gombbal kattintva és beillesztve, de a VBA-ban a Delete parancsot és az egész oszlop utasítást kell használnunk az oszlopok együttes törléséhez. ez az, hogy ha egyetlen oszlopot törölnünk kell, akkor egyetlen oszlop hivatkozást adunk meg, de a több oszlopra több oszlop hivatkozást adunk meg.

Excel VBA oszlop törlése

Számos műveletet hajtunk végre excelben, például kivágás, másolás, beillesztés, hozzáadás, törlés, beillesztés és sok ilyen dolog, amit rendszeresen csinálunk. Mindezeket a műveleteket használhatjuk a VBA kódolással. Az egyik fontos fogalom, amelyet meg kell tanulnunk a VBA-ban, az „oszlop törlése”. Ebben a cikkben megmutatjuk, hogyan kell használni ezt az oszlop törlését a VBA-ban.

Mit csinál az oszlop törlése az Excel VBA-ban?

Ahogy a neve mondja, törli a megadott oszlopot. A feladat végrehajtásához először meg kell határoznunk, hogy mely oszlopot kell törölnünk. A törlendő oszlopok kiválasztása forgatókönyvenként eltér, ezért néhány fontos és gyakran szembesülő forgatókönyvet bemutatunk ebben a cikkben.

Az oszlopok törlése egyszerű. Először a COLUMNS tulajdonságot kell használnunk az oszlop kiválasztásához, így az alábbiakban a VBA oszlop törlési módszerének szintaxisa található.

Oszlopok (oszlopreferencia). Törlés

Tehát a kódot így alakíthatjuk ki:

Oszlopok (2). Törlés vagy Oszlopok („B”). Törlés

Ez törli a 2. oszlopot, azaz a B oszlopot.

Ha több oszlopot akarunk törölni, akkor nem adhatunk meg oszlopokat. Az oszlopokat oszlopfejlécekre, azaz ábécére kell utalnunk.

Oszlopok („A: D”). Törlés

Ez törli az oszlopot A-tól D-ig, azaz az első 4 oszlopot.

Így használhatjuk a VBA „Oszlop törlése” módszerét az adott oszlopok törléséhez. Az alábbi szakaszban további példákat fogunk látni, hogy jobban megértsük. Olvass tovább.

Példák az Excel VBA oszlop törlési módszerére

Az alábbiakban bemutatjuk az oszlopok törlését a VBA segítségével.

1. példa - A Törlés módszer használata

Tegyük fel, hogy megvan az adatlap, az alábbihoz hasonló.

Ha törölni akarjuk a „Mar” oszlophónapot, először válassza ki az oszlopok tulajdonságot.

Kód:

Sub Delete_Példa1 () oszlopok (End Sub

Említse meg az oszlop számát vagy ábécéjét. Ebben az esetben vagy 3, vagy C.

Kód:

Altörlés_Példa1 () oszlopok (3). End Sub

Használja a Törlés módszert.

Megjegyzés: nem kapja meg az IntelliSense listát a Törlés módszer kiválasztásához. Csak írja be a „Törlés” parancsot

Kód:

Sub Delete_Példa1 () oszlopok (3). Törölje a Sub Sub elemet

Vagy megadhatja az oszlop címét így.

Kód:

Sub Delete_Example1 () oszlopok ("C"). Delete Sub Sub törlése

Futtassa ezt a kódot az F5 billentyűvel, vagy futtathatja manuálisan, és megtekintheti az eredményt.

Mindkét kód ugyanazt a munkát végzi el az említett oszlop törlésével.

Ha több oszlopot törölni akarunk, meg kell említenünk őket az ábécében. Itt nem használhatunk oszlopszámokat.

Ha törölni akarjuk a 2–4 ​​oszlopokat, akkor az alábbiak szerint továbbíthatjuk a kódot.

Kód:

Sub Delete_Példa1 () oszlopok ("C: D"). Törlés Sub Sub törlése

Run this code manually through the run option or press the F5 key. This will delete the columns “Feb,” “Mar,” and “Apr.”

Example #2 - Delete Columns with Worksheet Name

The above is an overview of how to delete columns using VBA code. However, that is not the good practice of deleting columns. Without referring the worksheet name, it is dangerous to blindly delete the column.

If you have not mentioned the worksheet name, then whichever sheet is active, it will delete columns of that sheet.

First, we need to select the worksheet by its name.

Code:

Sub Delete_Example2() Worksheets("Sales Sheet").Select End Sub

After selecting the sheet, we need to select the columns. We can also select the columns by using the VBA RANGE object as well.

Code:

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

This will delete the columns B to D of the worksheet “Sales Sheet.” For this code, it doesn’t matter which is active. Still, it will delete the mentioned columns of that sheet only.

We can also construct the VBA code in the single line itself.

Code:

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

This also deletes the columns “B to D” without selecting the worksheet “Sales Sheet.”

Example #3 - Delete Blank Columns

Assume you have data that has alternative blank columns like the below.

So, delete every alternative column we can use the below code.

Code:

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

Run this code using the F5 key or manually. Then, it will delete all the alternative blank columns, and our data will look like this.

Megjegyzés: Ez csak alternatív üres oszlopok esetén működik.

4. példa - Üres cellák oszlopainak törlése

Most nézze meg ezt a példát. Vannak bizonyos esetek, amikor törölnünk kell a teljes oszlopot, ha az üres cellák bármelyike ​​megtalálható az adattartományban. Vegye figyelembe az alábbi adatokat.

Az összes sárga cella üres. Tehát itt az a követelményem, hogy töröljem az összes üres cellát. Az alábbi kód ezt meg fogja tenni.

Kód:

Sub Delete_Example4 () tartomány ("A1: F9"). Válassza ki a Selection.SpecialCells (xlCellTypeBlanks) elemet. Válassza ki a Selection.EntireColumn.Delete End Sub részt

Hadd magyarázzam el neked ezt a kódot soronként.

Adataink A1-től F9-ig vannak, ezért először ki kell választanom azt a tartományt, és az alábbi kód ezt meg fogja valósítani.

Tartomány ("A1: F9"). Válassza a lehetőséget

Ebben a kiválasztott cellatartományban ki kell választanom az üres cellákat. Tehát egy üres cella kiválasztásához meg kell adnunk a cellák tulajdonságát, és ebben a tulajdonságban üres cellaként használtuk a cellatípust.

Selection.SpecialCells (xlCellTypeBlanks) .Select

Ezután kijelöli az összes üres cellát, és a kijelölés során töröljük a kijelölés teljes oszlopát.

Selection.EntireColumn.Delete

Tehát a végeredményünk így fog kinézni.

Bárhol megtalálta az üres cellát, az egész oszlopot törölte.

Itt töltheti le ezt az Excel VBA oszlop törlését - VBA oszlop sablon törlését

érdekes cikkek...