Διαγραφή στήλης VBA | Κορυφαίες 4 μέθοδοι διαγραφής στηλών του Excel χρησιμοποιώντας το VBA

Κανονικά στο φύλλο εργασίας excel έχουμε δύο διαφορετικές μεθόδους για τη διαγραφή στηλών, μία είναι η συντόμευση πληκτρολογίου και μια άλλη χρησιμοποιώντας τη μέθοδο δεξιού κλικ και εισαγωγής, αλλά στο VBA πρέπει να χρησιμοποιήσουμε την εντολή διαγραφής και ολόκληρη τη δήλωση στήλης για να διαγράψουμε μαζί οποιαδήποτε στήλη, το τέχνασμα Αυτό είναι ότι αν χρειαστεί να διαγράψουμε μια στήλη δίνουμε μια αναφορά στήλης αλλά για τις πολλαπλές στήλες δίνουμε πολλές αναφορές στηλών.

Excel VBA Διαγραφή στήλης

Πραγματοποιούμε πολλές ενέργειες στο excel όπως περικοπή, αντιγραφή, επικόλληση, προσθήκη, διαγραφή, εισαγωγή και πολλά τέτοια πράγματα που κάνουμε σε τακτική βάση. Μπορούμε να χρησιμοποιήσουμε όλες αυτές τις ενέργειες χρησιμοποιώντας VBA Coding. Μία από τις σημαντικές έννοιες που πρέπει να μάθουμε είναι στο VBA είναι η «στήλη διαγραφής». Σε αυτό το άρθρο, θα σας δείξουμε πώς να χρησιμοποιήσετε αυτήν την επιλογή Διαγραφή στήλης στο VBA.

Τι κάνει η Διαγραφή στήλης στο Excel VBA;

Όπως λέει το όνομα, θα διαγράψει την καθορισμένη στήλη. Για να εκτελέσουμε αυτήν την εργασία πρέπει πρώτα να προσδιορίσουμε ποια στήλη πρέπει να διαγράψουμε. Η επιλογή στηλών για διαγραφή διαφέρει από το ένα σενάριο στο άλλο, επομένως θα καλύψουμε μερικά από τα σημαντικά και συχνά σενάρια που αντιμετωπίζονται σε αυτό το άρθρο.

Η διαγραφή των στηλών είναι εύκολη. Πρώτον, πρέπει να χρησιμοποιήσουμε την ιδιότητα COLUMNS για να επιλέξετε τη στήλη, οπότε παρακάτω είναι η σύνταξη της μεθόδου Διαγραφή στήλης στο VBA.

Στήλες (Αναφορά στήλης). Διαγραφή

Έτσι μπορούμε να κατασκευάσουμε τον κώδικα ως εξής:

Στήλες (2). Διαγραφή ή Στήλες ("B"). Διαγραφή

Αυτό θα διαγράψει τον αριθμό στήλης 2, δηλαδή τη στήλη Β.

Εάν θέλουμε να διαγράψουμε πολλές στήλες, δεν μπορούμε να εισαγάγουμε στήλες, πρέπει να αναφέρουμε τις στήλες με κεφαλίδες στηλών, δηλαδή αλφάβητα.

Στήλες ("A: D"). Διαγραφή

Αυτό θα διαγράψει τη στήλη από το Α στο Δ, δηλαδή τις πρώτες 4 στήλες.

Έτσι, μπορούμε να χρησιμοποιήσουμε τη μέθοδο "Διαγραφή στήλης" στο VBA για να διαγράψουμε τις συγκεκριμένες στήλες. Στην παρακάτω ενότητα θα δούμε περισσότερα παραδείγματα για να το κατανοήσουμε καλύτερα. Συνέχισε να διαβάζεις.

Παραδείγματα μεθόδου διαγραφής στήλης Excel VBA

Ακολουθούν τα παραδείγματα διαγραφής στηλών χρησιμοποιώντας το VBA.

Παράδειγμα # 1 - Χρήση μεθόδου Διαγραφής

Ας υποθέσουμε ότι έχετε το δελτίο δεδομένων σαν το παρακάτω.

Αν θέλουμε να διαγράψουμε τον μήνα στήλης "Μαρ", πρώτα επιλέξτε την ιδιότητα στηλών.

Κώδικας:

 Sub Delete_Example1 () Στήλες (End Sub 

Αναφέρετε τον αριθμό της στήλης ή το αλφάβητο. Σε αυτήν την περίπτωση, είναι είτε 3 είτε C.

Κώδικας:

Υπο Delete_Example1 () Στήλες (3). Τέλος Υποτ

Χρησιμοποιήστε τη μέθοδο Διαγραφή.

Σημείωση: δεν θα λάβετε τη λίστα IntelliSense για να επιλέξετε τη μέθοδο Διαγραφή, απλώς πληκτρολογήστε "Διαγραφή",

Κώδικας:

 Sub Delete_Example1 () Στήλες (3). Διαγραφή End Sub 

Εναλλακτικά, μπορείτε να εισαγάγετε τη διεύθυνση της στήλης ως εξής.

Κώδικας:

 Sub Delete_Example1 () Στήλες ("C"). Διαγραφή End Sub 

Εκτελέστε αυτόν τον κώδικα χρησιμοποιώντας το πλήκτρο F5 ή μπορείτε να εκτελέσετε χειροκίνητα και να δείτε το αποτέλεσμα.

Και οι δύο κωδικοί θα κάνουν την ίδια εργασία με τη διαγραφή της αναφερόμενης στήλης.

Αν θέλουμε να διαγράψουμε πολλές στήλες, πρέπει να τις αναφέρουμε σε αλφάβητα, δεν μπορούμε να χρησιμοποιήσουμε εδώ αριθμούς στηλών.

Αν θέλουμε να διαγράψουμε τις στήλες 2 έως 4 μπορούμε να περάσουμε τον κωδικό όπως παρακάτω.

Κώδικας:

 Υπο Delete_Example1 () Στήλες ("C: D"). Διαγραφή End Sub 

Εκτελέστε αυτόν τον κώδικα χειροκίνητα μέσω της επιλογής εκτέλεσης ή πατήστε το πλήκτρο F5, αυτό θα διαγράψει τις στήλες "Φεβ", "Μαρ" και "Απρ".

Παράδειγμα # 2 - Διαγραφή στηλών με όνομα φύλλου εργασίας

Τα παραπάνω είναι μια επισκόπηση του τρόπου διαγραφής στηλών χρησιμοποιώντας τον κώδικα VBA. Ωστόσο, αυτή δεν είναι η καλή πρακτική της διαγραφής στηλών, χωρίς να αναφέρεται το όνομα του φύλλου εργασίας, είναι επικίνδυνο να διαγράψετε τυφλά τη στήλη.

Εάν δεν έχετε αναφέρει το όνομα του φύλλου εργασίας, όποιο φύλλο είναι ενεργό, θα διαγράψει στήλες αυτού του φύλλου.

Πρώτον, πρέπει να επιλέξουμε το φύλλο εργασίας με το όνομά του.

Κώδικας:

 Υπο Delete_Example2 () Φύλλα εργασίας ("Φύλλο πωλήσεων"). Επιλέξτε End Sub 

Αφού επιλέξετε το φύλλο, πρέπει να επιλέξετε τις στήλες. Μπορούμε επίσης να επιλέξουμε τις στήλες χρησιμοποιώντας το αντικείμενο VBA RANGE.

Κώδικας:

 Υπο Delete_Example2 () Φύλλα εργασίας ("Φύλλο πωλήσεων"). Επιλέξτε Εύρος ("B: D"). Διαγραφή End Sub 

Αυτό θα διαγράψει τις στήλες B έως D, του φύλλου εργασίας "Φύλλο πωλήσεων". Για αυτόν τον κωδικό δεν έχει σημασία ποια είναι ενεργή, θα διαγράψει μόνο τις αναφερόμενες στήλες αυτού του φύλλου.

Μπορούμε επίσης να κατασκευάσουμε τον κώδικα VBA στην ίδια γραμμή.

Κώδικας:

 Υπο Delete_Example2 () Φύλλα εργασίας ("Φύλλο πωλήσεων"). Εύρος ("B: D"). Διαγραφή End Sub 

Αυτό διαγράφει επίσης τις στήλες "B έως D" χωρίς να επιλέξετε το φύλλο εργασίας "Φύλλο πωλήσεων".

Παράδειγμα # 3 - Διαγραφή κενών στηλών

Ας υποθέσουμε ότι έχετε δεδομένα που έχουν εναλλακτικές κενές στήλες όπως τα παρακάτω.

Έτσι, διαγράψτε κάθε εναλλακτική στήλη που μπορούμε να χρησιμοποιήσουμε στον παρακάτω κώδικα.

Κώδικας:

 Sub Delete_Example3 () Dim k As Integer For k = 1 to 4 Columns (k + 1). Διαγραφή Επόμενου k End Sub 

Εκτελέστε αυτόν τον κωδικό χρησιμοποιώντας το πλήκτρο F5 ή χειροκίνητα τότε, θα διαγράψει όλες τις εναλλακτικές κενές στήλες και τα δεδομένα μας θα μοιάζουν με αυτό.

Σημείωση: Αυτό λειτουργεί μόνο για εναλλακτικές κενές στήλες.

Παράδειγμα # 4 - Διαγραφή κενών στηλών

Τώρα, δείτε αυτό το παράδειγμα. Υπάρχουν ορισμένες καταστάσεις όπου πρέπει να διαγράψουμε ολόκληρη τη στήλη εάν κάποιο από τα κενά κελιά βρέθηκαν στο εύρος δεδομένων. Εξετάστε τα παρακάτω δεδομένα για παράδειγμα.

Όλα τα κίτρινα κελιά είναι κενά. Εδώ λοιπόν η απαίτησή μου είναι να διαγράψω όλες τις στήλες κενών κελιών. Ο παρακάτω κώδικας θα το κάνει αυτό.

Κώδικας:

 Sub Delete_Example4 () Range ("A1: F9"). Επιλέξτε Selection.SpecialCells (xlCellTypeBlanks). Επιλέξτε Selection.EntireColumn. Delete End Sub 

Επιτρέψτε μου να εξηγήσω αυτήν τη γραμμή γραμμή προς γραμμή για εσάς.

Τα δεδομένα μας υπάρχουν από A1 έως F9, οπότε πρώτα πρέπει να επιλέξω αυτό το εύρος και κάτω από τον κώδικα θα το κάνει αυτό.

Εύρος ("A1: F9"). Επιλέξτε

Σε αυτήν την επιλεγμένη περιοχή κελιών, πρέπει να επιλέξω τα κενά κελιά. Επομένως, για να επιλέξετε κενό κελί, χρειαζόμαστε την ιδιότητα ειδικών κελιών και σε αυτήν την ιδιότητα, χρησιμοποιήσαμε τον τύπο κελιού ως κενό.

Selection.SpecialCells (xlCellTypeBlanks). Επιλέξτε

Στη συνέχεια, θα επιλέξει όλα τα κενά κελιά και στην επιλογή, διαγράφουμε ολόκληρη τη στήλη της επιλογής.

Selection.EntireColumn.Delete

Έτσι το τελικό αποτέλεσμα θα μοιάζει με αυτό.

Όπου έχει βρει το κενό κελί, έχει διαγράψει αυτά τα κενά κελιά ολόκληρη τη στήλη.

Μπορείτε να πραγματοποιήσετε λήψη αυτού του Excel VBA Delete Column εδώ - VBA Delete Column Template