- Φιλτράρετε σειρές με βάση την τιμή/συνθήκη και, στη συνέχεια, διαγράψτε το
- Ταξινομήστε το σύνολο δεδομένων και, στη συνέχεια, διαγράψτε τις γραμμές
- Βρείτε και επιλέξτε τα κελιά με βάση την τιμή κελιού και, στη συνέχεια, διαγράψτε τις γραμμές
- Διαγραφή όλων των σειρών με ένα κενό κελί
- Φιλτράρισμα και διαγραφή σειρών με βάση την τιμή κυψέλης (χρησιμοποιώντας VBA)
Όταν εργάζεστε με μεγάλα σύνολα δεδομένων, μπορεί να χρειαστεί να διαγράψετε γρήγορα σειρές με βάση τις τιμές κελιών σε αυτό (ή με βάση μια συνθήκη).
Για παράδειγμα, λάβετε υπόψη τα ακόλουθα παραδείγματα:
- Έχετε δεδομένα αντιπροσώπων πωλήσεων και θέλετε να διαγράψετε όλες τις εγγραφές για μια συγκεκριμένη περιοχή ή προϊόν.
- Θέλετε να διαγράψετε όλες τις εγγραφές όπου η τιμή πώλησης είναι μικρότερη από 100.
- Θέλετε να διαγράψετε όλες τις γραμμές όπου υπάρχει κενό κελί.
Υπάρχουν πολλοί τρόποι αποτρίχωσης αυτής της γάτας δεδομένων στο Excel.
Η μέθοδος που θα επιλέξετε να διαγράψετε τις γραμμές θα εξαρτηθεί από τον τρόπο δομής των δεδομένων σας και ποια είναι η τιμή ή η κατάσταση κελιού με βάση την οποία θέλετε να διαγράψετε αυτές τις γραμμές.
Σε αυτό το σεμινάριο, θα σας δείξω πολλούς τρόπους για να διαγράψετε γραμμές στο Excel με βάση μια τιμή κελιού ή μια συνθήκη.
Φιλτράρετε σειρές με βάση την τιμή/συνθήκη και, στη συνέχεια, διαγράψτε το
Ένας από τους ταχύτερους τρόπους διαγραφής γραμμών που περιέχουν μια συγκεκριμένη τιμή ή πληρούν μια δεδομένη συνθήκη είναι το φιλτράρισμα αυτών. Μόλις έχετε τα φιλτραρισμένα δεδομένα, μπορείτε να διαγράψετε όλες αυτές τις γραμμές (ενώ οι υπόλοιπες σειρές παραμένουν άθικτες).
Το φίλτρο Excel είναι αρκετά ευέλικτο και μπορείτε να φιλτράρετε με βάση πολλά κριτήρια (όπως κείμενο, αριθμούς, ημερομηνίες και χρώματα)
Ας δούμε δύο παραδείγματα όπου μπορείτε να φιλτράρετε τις γραμμές και να τις διαγράψετε.
Διαγραφή γραμμών που περιέχουν συγκεκριμένο κείμενο
Ας υποθέσουμε ότι έχετε ένα σύνολο δεδομένων όπως φαίνεται παρακάτω και θέλετε να διαγράψετε όλες τις γραμμές όπου η περιοχή είναι στα δυτικά (στη στήλη Β).
Ενώ σε αυτό το μικρό σύνολο δεδομένων μπορείτε να επιλέξετε να διαγράψετε αυτές τις γραμμές με μη αυτόματο τρόπο, συχνά τα σύνολα δεδομένων σας θα είναι τεράστια, όπου η μη αυτόματη διαγραφή γραμμών δεν θα είναι επιλογή.
Σε αυτήν την περίπτωση, μπορείτε να φιλτράρετε όλες τις εγγραφές όπου η περιοχή είναι Mid-West και, στη συνέχεια, να διαγράψετε όλες αυτές τις γραμμές (διατηρώντας τις υπόλοιπες σειρές άθικτες).
Παρακάτω είναι τα βήματα για τη διαγραφή γραμμών με βάση την τιμή (όλες οι εγγραφές της Μέσης Δύσης):
- Επιλέξτε οποιοδήποτε κελί στο σύνολο δεδομένων από το οποίο θέλετε να διαγράψετε τις γραμμές
- Κάντε κλικ στην καρτέλα Δεδομένα
- Στην ομάδα "Ταξινόμηση & Φίλτρο", κάντε κλικ στο εικονίδιο Φίλτρο. Αυτό θα εφαρμόσει φίλτρα σε όλα τα κελιά κεφαλίδων στο σύνολο δεδομένων
- Κάντε κλικ στο εικονίδιο Φίλτρο στο κελί κεφαλίδας περιοχής (αυτό είναι ένα μικρό εικονίδιο τριγώνου προς τα κάτω στο πάνω δεξιά μέρος του κελιού)
- Καταργήστε την επιλογή όλων των άλλων επιλογών εκτός από την επιλογή Mid-West (ένας γρήγορος τρόπος για να το κάνετε αυτό είναι κάνοντας κλικ στην επιλογή Select All και στη συνέχεια κάνοντας κλικ στην επιλογή Mid-West). Αυτό θα φιλτράρει το σύνολο δεδομένων και θα σας εμφανίζει μόνο εγγραφές για την περιοχή Mid-West.
- Επιλέξτε όλες τις φιλτραρισμένες εγγραφές
- Κάντε δεξί κλικ σε οποιοδήποτε από τα επιλεγμένα κελιά και κάντε κλικ στο «Διαγραφή σειράς»
- Στο παράθυρο διαλόγου που ανοίγει, κάντε κλικ στο OK. Σε αυτό το σημείο, δεν θα δείτε εγγραφές στο σύνολο δεδομένων.
- Κάντε κλικ στην καρτέλα Δεδομένα και κάντε κλικ στο εικονίδιο Φίλτρο. Αυτό θα αφαιρέσει το φίλτρο και θα δείτε όλες τις εγγραφές εκτός από τις διαγραμμένες.
Τα παραπάνω βήματα φιλτράρουν πρώτα τα δεδομένα με βάση μια τιμή κελιού (ή μπορεί να είναι άλλες συνθήκες, όπως μετά/πριν από μια ημερομηνία ή μεγαλύτερη/μικρότερη από έναν αριθμό). Μόλις έχετε τα αρχεία, απλά τα διαγράφετε.
Μερικές χρήσιμες συντομεύσεις που πρέπει να γνωρίζετε για να επιταχύνετε τη διαδικασία:
- Control + Shift + L για να εφαρμόσετε ή να αφαιρέσετε το φίλτρο
- Control + - (κρατήστε πατημένο το πλήκτρο ελέγχου και πατήστε το πλήκτρο μείον) για να διαγράψετε τα επιλεγμένα κελιά/σειρές
Στο παραπάνω παράδειγμα, είχα μόνο τέσσερις ξεχωριστές περιοχές και μπορούσα να το επιλέξω και να το καταργήσω από τη λίστα φίλτρων (στα βήματα 5 παραπάνω).
Σε περίπτωση που έχετε πολλές κατηγορίες/περιοχές, μπορείτε να πληκτρολογήσετε το όνομα στο πεδίο ακριβώς πάνω από το πλαίσιο (που έχει αυτά τα ονόματα περιοχών) και το Excel θα σας δείξει μόνο εκείνες τις εγγραφές που ταιριάζουν με το εισαγόμενο κείμενο (όπως φαίνεται παρακάτω). Μόλις έχετε το κείμενο βάσει του οποίου θέλετε να φιλτράρετε, πατήστε το πλήκτρο Enter.
Λάβετε υπόψη ότι όταν διαγράφετε μια γραμμή, οτιδήποτε μπορεί να έχετε σε άλλα κελιά σε αυτές τις γραμμές θα χαθεί. Ένας τρόπος για να το ξεπεράσετε είναι να δημιουργήσετε ένα αντίγραφο των δεδομένων σε ένα άλλο φύλλο εργασίας και να διαγράψετε τις γραμμές στα αντιγραμμένα δεδομένα. Μόλις τελειώσετε, αντιγράψτε το ξανά στη θέση των αρχικών δεδομένων.
Ή
Μπορείτε να χρησιμοποιήσετε τις μεθόδους που εμφανίζονται αργότερα σε αυτό το σεμινάριο (χρησιμοποιώντας τη μέθοδο Ταξινόμηση ή την Εύρεση όλων των μεθόδων)
Διαγραφή γραμμών βάσει αριθμητικής συνθήκης
Όπως χρησιμοποίησα τη μέθοδο φίλτρου για να διαγράψω όλες τις γραμμές που περιέχουν το κείμενο Mid-West, μπορείτε επίσης να χρησιμοποιήσετε μια συνθήκη αριθμού (ή συνθήκη ημερομηνίας).
Για παράδειγμα, ας υποθέσουμε ότι έχω το παρακάτω σύνολο δεδομένων και θέλω να διαγράψω όλες τις γραμμές όπου η τιμή πώλησης είναι μικρότερη από 200.
Παρακάτω είναι τα βήματα για να το κάνετε αυτό:
- Επιλέξτε οποιοδήποτε κελί στα δεδομένα
- Κάντε κλικ στην καρτέλα Δεδομένα
- Στην ομάδα "Ταξινόμηση & Φίλτρο", κάντε κλικ στο εικονίδιο Φίλτρο. Αυτό θα εφαρμόσει φίλτρα σε όλα τα κελιά κεφαλίδων στο σύνολο δεδομένων
- Κάντε κλικ στο εικονίδιο Φίλτρο στο κελί κεφαλίδας πωλήσεων (αυτό είναι ένα μικρό εικονίδιο τριγώνου προς τα κάτω στην επάνω δεξιά γωνία του κελιού)
- Τοποθετήστε τον δείκτη του ποντικιού πάνω από την επιλογή Αριθμός φίλτρων. Αυτό θα σας δείξει όλες τις επιλογές φίλτρου που σχετίζονται με τον αριθμό στο Excel.
- Κάντε κλικ στην επιλογή «Λιγότερο από».
- Στο παράθυρο διαλόγου "Προσαρμοσμένο αυτόματο φίλτρο", εισαγάγετε την τιμή "200" στο πεδίο
- Κάντε κλικ στο OK. Αυτό θα φιλτράρει και θα εμφανίζει μόνο εκείνα τα αρχεία όπου η αξία πωλήσεων είναι μικρότερη από 200
- Επιλέξτε όλες τις φιλτραρισμένες εγγραφές
- Κάντε δεξί κλικ σε οποιοδήποτε από τα κελιά και κάντε κλικ στο Διαγραφή σειράς
- Στο παράθυρο διαλόγου που ανοίγει, κάντε κλικ στο OK. Σε αυτό το σημείο, δεν θα δείτε εγγραφές στο σύνολο δεδομένων.
- Κάντε κλικ στην καρτέλα Δεδομένα και κάντε κλικ στο εικονίδιο Φίλτρο. Αυτό θα αφαιρέσει το φίλτρο και θα δείτε όλες τις εγγραφές εκτός από τις διαγραμμένες.
Υπάρχουν πολλά φίλτρα αριθμών που μπορείτε να χρησιμοποιήσετε στο Excel - όπως λιγότερο από/μεγαλύτερο από, ίσο/δεν ισούται, μεταξύ, κορυφαίων 10, άνω ή κάτω από τον μέσο όρο κ.λπ.
Σημείωση: Μπορείτε επίσης να χρησιμοποιήσετε πολλά φίλτρα. Για παράδειγμα, μπορείτε να διαγράψετε όλες τις σειρές όπου η αξία πωλήσεων είναι μεγαλύτερη από 200 αλλά μικρότερη από 500. Σε αυτήν την περίπτωση, πρέπει να χρησιμοποιήσετε δύο συνθήκες φίλτρου. Το πλαίσιο διαλόγου Προσαρμοσμένο αυτόματο φίλτρο επιτρέπει την ύπαρξη δύο κριτηρίων φίλτρου (ΚΑΙ καθώς και OR).Ακριβώς όπως τα φίλτρα αριθμών, μπορείτε επίσης να φιλτράρετε τις εγγραφές με βάση την ημερομηνία. Για παράδειγμα, εάν θέλετε να καταργήσετε όλες τις εγγραφές του πρώτου τριμήνου, μπορείτε να το κάνετε χρησιμοποιώντας τα ίδια παραπάνω βήματα. Όταν εργάζεστε με φίλτρα ημερομηνίας, το Excel σας εμφανίζει αυτόματα σχετικά φίλτρα (όπως φαίνεται παρακάτω).
Ενώ το φιλτράρισμα είναι ένας πολύ καλός τρόπος για τη γρήγορη διαγραφή γραμμών με βάση μια τιμή ή μια συνθήκη, έχει ένα μειονέκτημα - διαγράφει ολόκληρη τη σειρά. Για παράδειγμα, στην παρακάτω περίπτωση, θα διαγράψει όλα τα δεδομένα που βρίσκονται στα δεξιά του φιλτραρισμένου συνόλου δεδομένων.
Τι γίνεται αν θέλω μόνο να διαγράψω εγγραφές από το σύνολο δεδομένων, αλλά θέλω να διατηρήσω τα υπόλοιπα δεδομένα ανέπαφα.
Δεν μπορείτε να το κάνετε με το φιλτράρισμα, αλλά μπορείτε να το κάνετε με τη διαλογή.
Ταξινομήστε το σύνολο δεδομένων και, στη συνέχεια, διαγράψτε τις γραμμές
Παρόλο που η ταξινόμηση είναι ένας άλλος τρόπος διαγραφής γραμμών με βάση την τιμή, αλλά στις περισσότερες περιπτώσεις, προτιμάτε να χρησιμοποιήσετε τη μέθοδο φίλτρου που καλύπτεται παραπάνω.
Αυτή η τεχνική ταξινόμησης συνιστάται μόνο όταν θέλετε να διαγράψετε τα κελιά με τις τιμές και όχι ολόκληρες τις γραμμές.
Ας υποθέσουμε ότι έχετε ένα σύνολο δεδομένων όπως φαίνεται παρακάτω και θέλετε να διαγράψετε όλες τις εγγραφές όπου η περιοχή βρίσκεται στα δυτικά.
Παρακάτω είναι τα βήματα για να το κάνετε χρησιμοποιώντας τη διαλογή:
- Επιλέξτε οποιοδήποτε κελί στα δεδομένα
- Κάντε κλικ στην καρτέλα Δεδομένα
- Στην ομάδα Ταξινόμηση & Φίλτρο, κάντε κλικ στο εικονίδιο Ταξινόμηση.
- Στο παράθυρο διαλόγου Ταξινόμηση, που ανοίγει, επιλέξτε Περιοχή στην ταξινόμηση κατά στήλη.
- Στην επιλογή Ταξινόμηση κατά, βεβαιωθείτε ότι έχει επιλεγεί Τιμές κελιών
- Στην επιλογή Παραγγελία, επιλέξτε Α έως Ζ (ή Ζ έως Α, δεν έχει μεγάλη σημασία).
- Κάντε κλικ στο OK. Αυτό θα σας δώσει το ταξινομημένο σύνολο δεδομένων όπως φαίνεται παρακάτω (ταξινομημένο κατά τη στήλη Β).
- Επιλέξτε όλες τις εγγραφές με την περιοχή Mid-West (όλα τα κελιά στις γραμμές, όχι μόνο η στήλη περιοχής)
- Μόλις επιλεγεί, κάντε δεξί κλικ και, στη συνέχεια, κάντε κλικ στο Διαγραφή. Αυτό θα ανοίξει το παράθυρο διαλόγου Διαγραφή.
- Βεβαιωθείτε ότι είναι επιλεγμένη η επιλογή «Μετατόπιση κελιών επάνω».
- Κάντε κλικ στο OK.
Τα παραπάνω βήματα θα διαγράψουν όλες τις εγγραφές όπου η περιοχή ήταν Mid-West, αλλά δεν διαγράφει ολόκληρη τη σειρά. Έτσι, εάν έχετε δεδομένα στα δεξιά ή αριστερά του συνόλου δεδομένων σας, θα παραμείνουν άθικτα.
Στο παραπάνω παράδειγμα, έχω ταξινομήσει τα δεδομένα με βάση την τιμή του κελιού, αλλά μπορείτε επίσης να χρησιμοποιήσετε τα ίδια βήματα για να ταξινομήσετε με βάση αριθμούς, ημερομηνίες, χρώμα κελιού ή χρώμα γραμματοσειράς κ.λπ.
Ακολουθεί ένας λεπτομερής οδηγός για τον τρόπο ταξινόμησης δεδομένων στο ExcelΣε περίπτωση που θέλετε να διατηρήσετε την αρχική σειρά δεδομένων αλλά να καταργήσετε τις εγγραφές βάσει κριτηρίων, πρέπει να έχετε έναν τρόπο για να ταξινομήσετε τα δεδομένα πίσω στην αρχική. Για να το κάνετε αυτό, προσθέστε μια στήλη με σειριακούς αριθμούς πριν ταξινομήσετε τα δεδομένα. Μόλις τελειώσετε με τη διαγραφή των γραμμών/εγγραφών, απλώς ταξινομήστε με βάση αυτήν την επιπλέον στήλη που προσθέσατε.
Βρείτε και επιλέξτε τα κελιά με βάση την τιμή κελιού και, στη συνέχεια, διαγράψτε τις γραμμές
Το Excel διαθέτει μια λειτουργία Εύρεση και αντικατάσταση που μπορεί να είναι εξαιρετική όταν θέλετε να βρείτε και να επιλέξετε κελιά με μια συγκεκριμένη τιμή.
Αφού επιλέξετε αυτά τα κελιά, μπορείτε εύκολα να διαγράψετε τις γραμμές.
Ας υποθέσουμε ότι έχετε το σύνολο δεδομένων όπως φαίνεται παρακάτω και θέλετε να διαγράψετε όλες τις γραμμές όπου η περιοχή είναι Mid-West.
Παρακάτω είναι τα βήματα για να το κάνετε αυτό:
- Επιλέξτε ολόκληρο το σύνολο δεδομένων
- Κάντε κλικ στην καρτέλα Αρχική σελίδα
- Στην ομάδα Επεξεργασία, κάντε κλικ στην επιλογή «Εύρεση & επιλογή» και, στη συνέχεια, κάντε κλικ στην επιλογή Εύρεση (μπορείτε επίσης να χρησιμοποιήσετε τη συντόμευση πληκτρολογίου Control + F).
- Στο παράθυρο διαλόγου Εύρεση και αντικατάσταση, εισαγάγετε το κείμενο «Mid-West» στο πεδίο «Εύρεση τι:».
- Κάντε κλικ στο Εύρεση όλων. Αυτό θα σας δείξει αμέσως όλες τις περιπτώσεις του κειμένου Mid-West που κατάφερε να βρει το Excel.
- Χρησιμοποιήστε τη συντόμευση πληκτρολογίου Control + A για να επιλέξετε όλα τα κελιά που βρήκε το Excel. Θα μπορείτε επίσης να δείτε όλα τα επιλεγμένα κελιά στο σύνολο δεδομένων.
- Κάντε δεξί κλικ σε οποιοδήποτε από τα επιλεγμένα κελιά και κάντε κλικ στο Διαγραφή. Αυτό θα ανοίξει το παράθυρο διαλόγου Διαγραφή.
- Επιλέξτε την επιλογή «Ολόκληρη σειρά»
- Κάντε κλικ στο OK.
Τα παραπάνω βήματα θα διαγράψουν όλα τα κελιά όπου η τιμή περιοχής είναι Mid-West.
Σημείωση: Δεδομένου ότι η Εύρεση και αντικατάσταση μπορεί να χειριστεί χαρακτήρες μπαλαντέρ, μπορείτε να τα χρησιμοποιήσετε όταν βρίσκετε δεδομένα στο Excel. Για παράδειγμα, εάν θέλετε να διαγράψετε όλες τις γραμμές όπου η περιοχή είναι είτε Mid-West ή South-West, μπορείτε να χρησιμοποιήσετε το '*Δυτικά«Ως το κείμενο που θα βρείτε στο παράθυρο διαλόγου Εύρεση και αντικατάσταση. Αυτό θα σας δώσει όλα τα κελιά όπου το κείμενο τελειώνει με τη λέξη Δύση.Διαγραφή όλων των σειρών με ένα κενό κελί
Σε περίπτωση που θέλετε να διαγράψετε όλες τις γραμμές όπου υπάρχουν κενά κελιά, μπορείτε εύκολα να το κάνετε αυτό με μια ενσωματωμένη λειτουργικότητα στο Excel.
Είναι το Μετάβαση στα ειδικά κελιά επιλογή - η οποία σας επιτρέπει να επιλέξετε γρήγορα όλα τα κενά κελιά. Και μόλις επιλέξετε όλα τα κενά κελιά, η διαγραφή αυτών είναι εξαιρετικά απλή.
Ας υποθέσουμε ότι έχετε το σύνολο δεδομένων όπως φαίνεται παρακάτω και θέλω να διαγράψω όλες τις γραμμές όπου δεν έχω την τιμή πώλησης.
Παρακάτω είναι τα βήματα για να το κάνετε αυτό:
- Επιλέξτε ολόκληρο το σύνολο δεδομένων (A1: D16 σε αυτήν την περίπτωση).
- Πάτα το F5 κλειδί. Αυτό θα ανοίξει το παράθυρο διαλόγου «Μετάβαση σε» (Μπορείτε επίσης να λάβετε αυτό το παράθυρο διαλόγου από την Αρχική σελίδα -> Επεξεργασία -> Εύρεση και επιλογή -> Μετάβαση σε).
- Στο παράθυρο διαλόγου "Μετάβαση σε", κάντε κλικ στο κουμπί Ειδικά. Αυτό θα ανοίξει το παράθυρο διαλόγου «Μετάβαση στα ειδικά»
- Στο παράθυρο διαλόγου Μετάβαση στα ειδικά, επιλέξτε «Κενά».
- Κάντε κλικ στο OK.
Τα παραπάνω βήματα θα επιλέξουν όλα τα κελιά που είναι κενά στο σύνολο δεδομένων.
Μόλις επιλέξετε τα κενά κελιά, κάντε δεξί κλικ σε οποιοδήποτε από τα κελιά και κάντε κλικ στο Διαγραφή.
Στο παράθυρο διαλόγου Διαγραφή, επιλέξτε την επιλογή «Ολόκληρη σειρά» και κάντε κλικ στο OK. Αυτό θα διαγράψει όλες τις γραμμές που έχουν κενά κελιά.
Εάν ενδιαφέρεστε να μάθετε περισσότερα σχετικά με αυτήν την τεχνική, έγραψα ένα λεπτομερές σεμινάριο για τον τρόπο διαγραφής γραμμών με κενά κελιά. Περιλαμβάνει τη μέθοδο «Μετάβαση στο ειδικό» καθώς και μια μέθοδο VBA για τη διαγραφή γραμμών με κενά κελιά.
Φιλτράρισμα και διαγραφή σειρών με βάση την τιμή κυψέλης (χρησιμοποιώντας VBA)
Η τελευταία μέθοδος που πρόκειται να σας δείξω περιλαμβάνει λίγο VBA.
Μπορείτε να χρησιμοποιήσετε αυτήν τη μέθοδο εάν χρειάζεται συχνά να διαγράψετε γραμμές με βάση μια συγκεκριμένη τιμή σε μια στήλη. Μπορείτε να προσθέσετε τον κωδικό VBA μία φορά και να τον προσθέσετε στο προσωπικό σας βιβλίο μακροεντολής εργασίας. Με αυτόν τον τρόπο θα είναι διαθέσιμο για χρήση σε όλα τα βιβλία εργασίας του Excel.
Αυτός ο κώδικας λειτουργεί με τον ίδιο τρόπο όπως η μέθοδος φίλτρου που αναφέρεται παραπάνω (εκτός από το γεγονός ότι αυτό κάνει όλα τα βήματα στο backend και σας εξοικονομεί μερικά κλικ).
Ας υποθέσουμε ότι έχετε το σύνολο δεδομένων όπως φαίνεται παρακάτω και θέλετε να διαγράψετε όλες τις γραμμές όπου η περιοχή είναι Mid-West.
Παρακάτω είναι ο κώδικας VBA που θα το κάνει αυτό.
Sub DeleteRowsWithSpecificText () 'Πηγή: https: //trumpexcel.com/delete-rows-based-on-cell-value/ ActiveCell.AutoFilter Field: = 2, Criteria1: = "Mid-West" ActiveSheet.AutoFilter.Range.Offset (1, 0). Rows.SpecialCells (xlCellTypeVisible). Delete End Sub
Ο παραπάνω κώδικας χρησιμοποιεί τη μέθοδο αυτόματου φιλτραρίσματος VBA για να φιλτράρει πρώτα τις γραμμές με βάση τα καθορισμένα κριτήρια (που είναι "Mid-West"), στη συνέχεια να επιλέξει όλες τις φιλτραρισμένες σειρές και να τις διαγράψει.
Σημειώστε ότι έχω χρησιμοποιήσει το Offset στον παραπάνω κώδικα για να βεβαιωθώ ότι η σειρά κεφαλίδας μου δεν έχει διαγραφεί.
Ο παραπάνω κώδικας δεν λειτουργεί εάν τα δεδομένα σας βρίσκονται σε έναν πίνακα Excel. Ο λόγος για αυτό είναι ότι το Excel θεωρεί έναν πίνακα Excel ως αντικείμενο λίστας. Έτσι, εάν θέλετε να διαγράψετε τις γραμμές που βρίσκονται σε έναν πίνακα, πρέπει να τροποποιήσετε λίγο τον κώδικα (που καλύπτεται αργότερα σε αυτό το σεμινάριο).Πριν από τη διαγραφή των γραμμών, θα σας εμφανιστεί μια προτροπή όπως φαίνεται παρακάτω. Αυτό το βρίσκω χρήσιμο καθώς μου επιτρέπει να ελέγξω ξανά τη φιλτραρισμένη σειρά πριν από τη διαγραφή.
Να θυμάστε ότι όταν διαγράφετε σειρές χρησιμοποιώντας VBA, δεν μπορείτε να αναιρέσετε αυτήν την αλλαγή. Επομένως, χρησιμοποιήστε το μόνο όταν είστε σίγουροι ότι αυτό λειτουργεί όπως θέλετε. Επίσης, είναι καλή ιδέα να διατηρήσετε ένα αντίγραφο ασφαλείας των δεδομένων σε περίπτωση που κάτι πάει στραβά.Σε περίπτωση που τα δεδομένα σας βρίσκονται σε έναν πίνακα Excel, χρησιμοποιήστε τον παρακάτω κώδικα για να διαγράψετε γραμμές με συγκεκριμένη τιμή σε αυτό:
Sub DeleteRowsinTables () 'Πηγή: https: //trumpexcel.com/delete-rows-based-on-cell-value/ Dim Tbl As ListObject Set Tbl = ActiveSheet.ListObjects (1) ActiveCell.AutoFilter Field: = 2, Criteria1: = "Mid-West" Tbl.DataBodyRange.SpecialCells (xlCellTypeVisible) .Delete End Sub
Δεδομένου ότι η VBA θεωρεί τον πίνακα Excel ως αντικείμενο λίστας (και όχι εύρος), έπρεπε να αλλάξω τον κώδικα ανάλογα.
Πού να τοποθετήσετε τον κωδικό VBA;
Αυτός ο κωδικός πρέπει να τοποθετηθεί στο backend του VB Editor σε μια ενότητα.
Παρακάτω είναι τα βήματα που θα σας δείξουν πώς να το κάνετε αυτό:
- Ανοίξτε το βιβλίο εργασίας στο οποίο θέλετε να προσθέσετε αυτόν τον κώδικα.
- Χρησιμοποιήστε τη συντόμευση πληκτρολογίου ALT + F11 για να ανοίξετε το παράθυρο του VBA Editor.
- Σε αυτό το παράθυρο του VBA Editor, στα αριστερά, υπάρχει ένα παράθυρο «Project Explorer» (το οποίο παραθέτει όλα τα βιβλία εργασίας και τα αντικείμενα των φύλλων εργασίας). Κάντε δεξί κλικ σε οποιοδήποτε αντικείμενο στο βιβλίο εργασίας (στο οποίο θέλετε να λειτουργήσει αυτός ο κώδικας), τοποθετήστε τον δείκτη του ποντικιού πάνω από το «Εισαγωγή» και, στη συνέχεια, κάντε κλικ στο «Ενότητα». Αυτό θα προσθέσει το αντικείμενο Ενότητα στο Βιβλίο εργασίας και θα ανοίξει επίσης το παράθυρο κωδικού Ενότητας στα δεξιά
- Στο παράθυρο της λειτουργικής μονάδας (που θα εμφανιστεί στα δεξιά), αντιγράψτε και επικολλήστε τον παραπάνω κώδικα.
Αφού έχετε τον κωδικό στο VB Editor, μπορείτε να εκτελέσετε τον κώδικα χρησιμοποιώντας οποιαδήποτε από τις παρακάτω μεθόδους (βεβαιωθείτε ότι έχετε επιλέξει οποιοδήποτε κελί στο σύνολο δεδομένων στο οποίο θέλετε να εκτελέσετε αυτόν τον κώδικα):
- Επιλέξτε οποιαδήποτε γραμμή μέσα στον κώδικα και πατήστε το πλήκτρο F5.
- Κάντε κλικ στο κουμπί Εκτέλεση στη γραμμή εργαλείων στο VB Editor
- Αντιστοιχίστε τη μακροεντολή σε ένα κουμπί ή ένα σχήμα και εκτελέστε την κάνοντας κλικ σε αυτό στο ίδιο το φύλλο εργασίας
- Προσθέστε το στη γραμμή εργαλείων γρήγορης πρόσβασης και εκτελέστε τον κώδικα με ένα μόνο κλικ.
Μπορείτε να διαβάσετε τα πάντα σχετικά με τον τρόπο εκτέλεσης του κώδικα μακροεντολής στο Excel σε αυτό το άρθρο.
Σημείωση: Δεδομένου ότι το βιβλίο εργασίας περιέχει έναν κώδικα μακροεντολής VBA, πρέπει να τον αποθηκεύσετε σε μορφή μακροεντολής (xlsm).