VBA AutoFilter

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

Αν θέλετε να μάθετε πώς να χρησιμοποιείτε ένα προηγμένο φίλτρο στο VBA, κάντε κλικ εδώ: Προηγμένο φίλτρο VBA

Δημιουργία αυτόματου φίλτρου σε VBA

Αρχικά, θα δείτε πώς να δημιουργήσετε Αυτόματο φίλτρο σε ένα εύρος, ώστε ένας χρήστης να μπορεί να φιλτράρει τα δεδομένα. Τα δεδομένα που θα χρησιμοποιήσουμε στα παραδείγματα είναι στην Εικόνα 1:

Εικόνα 1. Δεδομένα για παραδείγματα αυτόματου φιλτραρίσματος

Εδώ είναι ο κώδικας για τη δημιουργία Αυτόματο φίλτρο:

1 Sheet1.Range ("A1: E1"). Αυτόματο φίλτρο

Για να ενεργοποιήσετε Αυτόματο φίλτρο, πρέπει να καθορίσουμε την κεφαλίδα της περιοχής, στην περίπτωσή μας A1: E1, και να χρησιμοποιήσουμε το Αυτόματο φίλτρο μέθοδο του αντικειμένου ΕύροςΤο Ως αποτέλεσμα, το εύρος δεδομένων μας έχει ενεργοποιήσει τα φίλτρα:

Εικόνα 2. Αυτόματο φίλτρο ενεργοποιημένο για τα δεδομένα

Αυτόματο φίλτρο με παραμέτρους πεδίου και κριτηρίων

Το VBA σάς επιτρέπει επίσης να φιλτράρετε αυτόματα ένα συγκεκριμένο πεδίο με συγκεκριμένες τιμές.

Για να το κάνετε αυτό, πρέπει να χρησιμοποιήσετε παραμέτρους Πεδίο και Κριτήρια 1 της μεθόδου Αυτόματο φίλτροΤο Σε αυτό το παράδειγμα, θέλουμε να φιλτράρουμε την τρίτη στήλη (Προϊόν) Για Προϊόν Α μόνο. Εδώ είναι ο κωδικός:

12 Sheet1.Range ("A1: E1"). AutoFilter Field: = 3, _Κριτήρια 1: = "Προϊόν Α"

Στο Πεδίο παράμετρος, μπορείτε να ορίσετε τον αριθμό της στήλης στο εύρος (όχι στο Excel), ενώ στο Κριτήρια 1 μπορείτε να βάλετε την τιμή που θέλετε να φιλτράρετε. Μετά την εκτέλεση του κώδικα, ο πίνακας μας μοιάζει με αυτόν:

Εικόνα 3. Αυτόματο φίλτρο με πεδίο και κριτήρια

Όπως μπορείτε να δείτε, μόνο σειρές με Προϊόν Α στην τρίτη στήλη εμφανίζονται στην περιοχή δεδομένων.

Αυτόματο φίλτρο με τιμές πεδίου και πολλαπλών κριτηρίων

Εάν θέλετε να φιλτράρετε ένα πεδίο με πολλές τιμές, πρέπει να χρησιμοποιήσετε την παράμετρο Χειριστής απο Αυτόματο φίλτρο μέθοδος. Για να φιλτράρετε πολλές τιμές, πρέπει να ορίσετε Χειριστής προς το xlFilterValues και επίσης να βάλουμε όλες τις τιμές του Κριτήρια σε έναν πίνακα. Σε αυτό το παράδειγμα, φιλτράρουμε το Προϊόν στήλη για Προϊόν Α και Προϊόν ΒΤο Εδώ είναι το παράδειγμα του κώδικα:

123 Sheet1.Range ("A1: E1"). Πεδίο αυτόματου φιλτραρίσματος: = 3, _Κριτήρια 1: = Πίνακας ("Προϊόν Α", "Προϊόν Β"), _Χειριστής: = xlFilterValues

Όταν εκτελούμε τον κώδικα, λαμβάνουμε μόνο σειρές με το προϊόν Α και το προϊόν Β, όπως μπορείτε να δείτε στην εικόνα 4:

Εικόνα 4. Αυτόματο φίλτρο με τιμές πολλαπλών κριτηρίων

Εύρος δεδομένων αυτόματου φιλτραρίσματος με πολλαπλά κριτήρια

Εάν θέλετε να φιλτράρετε ένα πεδίο με πολλαπλά κριτήρια, πρέπει να το χρησιμοποιήσετε Κριτήρια 1 και Κριτήρια2 παραμέτρους, αλλά και το Χειριστής xlAnd.

Στο επόμενο παράδειγμα, θα φιλτράρουμε την πρώτη στήλη (Ημερομηνία) για ημερομηνίες τον Δεκέμβριο του 2022. Επομένως, έχουμε δύο κριτήρια: ημερομηνία μεγαλύτερη από 12/01/18 και μικρότερη από 31/12/18. Αυτός είναι ο κωδικός:

1234 Sheet1.Range ("A1: E1"). Πεδίο αυτόματου φιλτραρίσματος: = 1, _Κριτήρια1: = "> = 12/01/2018", _Χειριστής: = xlAnd, _Κριτήρια2: = "<= 31/12/2018"

Όταν εκτελούμε τον κώδικα, μπορείτε να δείτε ότι μόνο οι ημερομηνίες του Δεκεμβρίου εμφανίζονται στο εύρος δεδομένων:

Εικόνα 5. Αυτόματο φίλτρο με πολλαπλά κριτήρια για το πεδίο

Τιμές παραμέτρων χειριστή της μεθόδου AutoFilter

Στον επόμενο πίνακα. μπορείτε να δείτε όλες τις πιθανές τιμές του Χειριστής παράμετρος της μεθόδου AutoFilter και οι περιγραφές τους:

Χειριστής Περιγραφή
xlΚαι Περιλαμβάνει πολλαπλά κριτήρια - Κριτήρια 1 και Κριτήρια 2
xlOr Περιλαμβάνει ένα από τα πολλαπλά κριτήρια - Κριτήρια 1 ή Κριτήρια 2
xlTop10Είδη Φιλτράρει έναν ορισμένο αριθμό τιμών με υψηλότερη κατάταξη (αριθμός που καθορίζεται στα Κριτήρια 1)
xlBottom10Items Φιλτράρει έναν ορισμένο αριθμό τιμών χαμηλότερης κατάταξης (αριθμός που καθορίζεται στα Κριτήρια 1)
xlTop10Percent Φιλτράρει ένα ορισμένο ποσοστό των τιμών με την υψηλότερη κατάταξη (% καθορίζεται στα Κριτήρια 1)
xlBottom10Percent Φιλτράρει ένα ορισμένο ποσοστό των χαμηλότερων τιμών (% καθορίζεται στα Κριτήρια 1)
xlFilterValues Περιλαμβάνει τιμές πολλαπλών κριτηρίων με τον πίνακα
xlFilterCellColor Φιλτράρει κελιά για χρώματα
xlFilterFontColor Φιλτράρει κελιά για χρώματα γραμματοσειράς
xlFIlterIcon Εικονίδια φίλτρων
xlFilterDynamic Φιλτράρετε δυναμικές τιμές

Θα βοηθήσει στην ανάπτυξη του τόπου, μοιράζονται τη σελίδα με τους φίλους σας

wave wave wave wave wave