VBA Διαγραφή ολόκληρης της σειράς ή της στήλης

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

Διαγραφή ολόκληρης της γραμμής ή της στήλης

Για να διαγράψετε μια ολόκληρη σειρά στο VBA χρησιμοποιήστε αυτήν τη γραμμή κώδικα:

1 Σειρές (1). Διαγραφή

Παρατηρήστε ότι χρησιμοποιούμε το Διαγράφω μέθοδος διαγραφής μιας σειράς.

Αντί να γίνεται αναφορά στο Σειρές Αντικείμενο, μπορείτε να αναφέρετε σειρές με βάση τις Εύρος αντικειμένου με Ολόκληρη η σειρά:

1 Εύρος ("a1"). EntireRow.Delete

Ομοίως, για να διαγράψετε μια ολόκληρη στήλη, χρησιμοποιήστε αυτές τις γραμμές κώδικα:

1 Στήλες (1). Διαγραφή
1 Εύρος ("a1"). EntireColumn.Delete

Διαγραφή πολλαπλών σειρών ή στηλών

Χρησιμοποιώντας την ίδια λογική, μπορείτε επίσης να διαγράψετε πολλές σειρές ταυτόχρονα:

1 Σειρές ("1: 3"). Διαγραφή

ή στήλες:

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

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

Φυσικά, μπορείτε επίσης να αναφέρετε το EntireRow μιας περιοχής:

1 Εύρος ("a1: a10"). EntireRow.Delete

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

Διαγραφή κενών / κενών σειρών

Αυτό το παράδειγμα θα διαγράψει μια γραμμή εάν ολόκληρη η σειρά είναι κενή:

1234567891011 Sub DeleteRows_EntireRowBlank ()Dim cell As RangeΓια κάθε κελί σε εύρος ("b2: b20")Εάν Application.WorksheetFunction.CountA (cell.EntireRow) = 0 Τότεcell.EntireRow.DeleteΤέλος εανΕπόμενο κελίΤέλος υπο

Χρησιμοποιεί τη συνάρτηση φύλλου εργασίας του Excel: COUNTA.

Διαγραφή γραμμής εάν το κελί είναι κενό

Αυτό θα διαγράψει μια γραμμή εάν μια συγκεκριμένη στήλη σε αυτήν τη σειρά είναι κενή (σε αυτήν την περίπτωση η στήλη Β):

1 Εύρος ("b3: b20"). SpecialCells (xlCellTypeBlanks) .EntireRow.Delete

Διαγραφή γραμμής με βάση την τιμή κελιού

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

1234567891011 Sub DeleteRowswithSpecificValue ()Dim cell As RangeΓια κάθε κελί σε εύρος ("b2: b20")Εάν cell.Value = "διαγραφή" Τότεcell.EntireRow.DeleteΤέλος εανΕπόμενο κελίΤέλος υπο

Περισσότερα διαγραφή παραδειγμάτων γραμμής και στήλης

Διαγραφή διπλών σειρών

Αυτός ο κώδικας θα διαγράψει όλες τις διπλές σειρές σε μια περιοχή:

1 Εύρος ("b2: c100"). RemoveDuplicates Columns: = 2

Σημειώστε ότι ορίσαμε στήλες: = 2. Αυτό λέει στο VBA να ελέγξει και τις δύο πρώτες στήλες δεδομένων όταν εξετάζει εάν οι γραμμές είναι διπλές. Ένα διπλότυπο βρίσκεται μόνο όταν και οι δύο στήλες έχουν διπλές τιμές.

Αν το είχαμε ορίσει σε 1, μόνο η πρώτη σειρά θα είχε ελεγχθεί για διπλές τιμές.

Διαγραφή γραμμών πίνακα

Αυτός ο κώδικας θα διαγράψει τη δεύτερη σειρά σε έναν πίνακα με αναφορά στη ListObjects.

1 ThisWorkbook.Sheets ("Sheet1"). ListObjects ("list1"). ListRows (2) .Delete

Διαγραφή φιλτραρισμένων σειρών

Για να διαγράψετε μόνο τις γραμμές που είναι ορατές μετά το φιλτράρισμα:

1 Εύρος ("b3: b20"). SpecialCells (xlCellTypeVisible) .EntireRow.Delete

Διαγραφή γραμμών στο εύρος

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

1 Εύρος ("a1: a10"). EntireRow.Delete

Διαγραφή επιλεγμένων σειρών

Αυτός ο κωδικός θα διαγράψει όλες τις επιλεγμένες σειρές:

1 Selection.EntireRow.Delete

Διαγραφή τελευταίας σειράς

Αυτό θα διαγράψει την τελευταία χρησιμοποιούμενη σειρά στη στήλη Β:

1 Κελιά (Rows.Count, 2). End (xlUp) .EntireRow.Delete

Αλλάζοντας το 2 σε 1, μπορείτε να διαγράψετε την τελευταία χρησιμοποιούμενη σειρά στη στήλη Α, κ.λπ .:

1 Κελιά (Rows.Count, 1). End (xlUp) .EntireRow.Delete

Διαγραφή στηλών κατά αριθμό

Για να διαγράψετε μια στήλη με τον αριθμό της, χρησιμοποιήστε έναν κωδικό σαν αυτόν:

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