Αυτόματο φίλτρο VBA | Πώς να χρησιμοποιήσετε τα κριτήρια αυτόματου φίλτρου VBA για να φιλτράρετε δεδομένα;

Αυτόματο φίλτρο Excel VBA

Το Αυτόματο Φίλτρο σε VBA χρησιμοποιείται ως παράσταση και η σύνταξη για αυτό ακολουθεί την Έκφραση. Αυτόματο φίλτρο (πεδίο, κριτήρια 1, χειριστής, κριτήρια 2, αναπτυσσόμενο μενού) όλα τα ορίσματα είναι προαιρετικά. Το φίλτρο είναι χρήσιμο στο φιλτράρισμα των συγκεκριμένων δεδομένων από τα τεράστια δεδομένα.

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

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

Εάν αντιμετωπίζετε τεράστιο όγκο δεδομένων, τότε μπορείτε να χρησιμοποιήσετε την επιλογή Αυτόματο φίλτρο για να απλοποιήσετε τη ροή της διαδικασίας

Σύνταξη της λειτουργίας AutoFilter

Το Αυτόματο Φίλτρο στο Excel VBA μπορεί να χρησιμοποιηθεί με αντικείμενο εύρους. Όπως και οι άλλες λειτουργίες μας, αυτό έχει και τη δική του σύνταξη.

  • Εύρος: Το εύρος είναι απλώς σε ποιο εύρος θέλετε να εφαρμόσετε το φίλτρο.
  • Πεδίο: Το πεδίο σημαίνει από ποια στήλη του εύρους έχετε επιλέξει να θέλετε να φιλτράρετε τα δεδομένα. Μια στήλη θα μετρηθεί από αριστερά προς τα δεξιά.

Για παράδειγμα, εάν το εύρος σας είναι από A1 έως D100 και θέλετε να εφαρμόσετε ένα φίλτρο για τη στήλη D, τότε ο αριθμός πεδίου σας είναι 4 επειδή στο επιλεγμένο εύρος D είναι η τέταρτη στήλη.

Κριτήρια 1: Στο πεδίο, έχετε επιλέξει αυτό που θέλετε να φιλτράρετε.

  • Χειριστής: Εάν θέλετε να εφαρμόσετε περισσότερα από ένα κριτήρια για το φιλτράρισμα των δεδομένων, τότε πρέπει να χρησιμοποιήσουμε σύμβολα χειριστή. Μερικοί από τους κωδικούς χειριστή είναι οι παρακάτω.

xlAnd, xlOr, xlBottom10Items, xlTop10Items, xlTop10Percent, xlBottom10Percent, xlFilterCellColor, xlFilterDynamic, xlFilterFontColor, xlFilterIcon, xlFilterValues.

Κριτήρια 2: Ποιο είναι το δεύτερο πράγμα που θέλετε να φιλτράρετε μαζί με τα Κριτήρια 1;

  • Ορατό Drop Down: Θέλετε να εμφανίσετε το εικονίδιο του φίλτρου προς τα κάτω στη φιλτραρισμένη στήλη. Εάν θέλετε να εμφανίσετε το TRUE είναι το όρισμα, εάν όχι το FALSE είναι το όρισμα.

Πώς να εφαρμόσετε φίλτρο χρησιμοποιώντας το Αυτόματο φίλτρο VBA; (με παράδειγμα)

Μπορείτε να κάνετε λήψη αυτού του προτύπου αυτόματου φίλτρου VBA εδώ - Πρότυπο αυτόματου φίλτρου VBA

Ας υποθέσουμε παρακάτω τα δεδομένα στα οποία εργάζεστε.

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

Βήμα 1: Ξεκινήστε την υποδιαδικασία δίνοντας ένα όνομα στη μακροεντολή.

Κώδικας:

 Sub AutoFilter_Example1 () End Sub 

Βήμα 2: Το πρώτο  πράγμα είναι σε ποιο εύρος πρέπει να εφαρμόσουμε το φίλτρο. Σε αυτήν την περίπτωση, πρέπει να εφαρμόσουμε το εύρος από το εύρος A1 έως το E25.

Κώδικας:

 Sub AutoFilter_Example1 () Range ("A1: E25") End Sub 

Βήμα 3: Μόλις επιλεγεί το εύρος, εφαρμόστε τώρα την επιλογή αυτόματου φίλτρου.

Κώδικας:

 Sub AutoFilter_Example1 () Range ("A1: E25"). AutoFilter End Sub 

Δεν επιλέγουμε τιμές χρησιμοποιώντας αυτόματο φίλτρο, αλλά απλώς εφαρμόζουμε το φίλτρο αυτή τη στιγμή.

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

Έτσι, έχει εφαρμόσει ένα φίλτρο στα δεδομένα. Τώρα θα δούμε πώς να φιλτράρετε τα δεδομένα.

Παράδειγμα # 1 - Φιλτράρετε δεδομένα χρησιμοποιώντας το Αυτόματο φίλτρο

Εξετάστε τα ίδια δεδομένα από το παραπάνω παράδειγμα. Τώρα πρέπει να φιλτράρουμε το τμήμα "Οικονομικών" από τη στήλη του τμήματος.

Βήμα 1: Μετά την εφαρμογή του φίλτρου, το πρώτο όρισμα είναι να αναφέρουμε από ποια στήλη φιλτράρουμε τα δεδομένα. Σε αυτήν την περίπτωση, πρέπει να φιλτράρουμε τα δεδομένα από τη στήλη Τμήμα, έτσι ώστε ο αριθμός στήλης εάν

Κώδικας:

 Sub AutoFilter_Example1 () Range ("A1: E25"). AutoFilter Field: = 5, End Sub 

Βήμα 2: Τα κριτήρια 1 δεν είναι τίποτα άλλο από αυτό που θέλουμε να φιλτράρουμε από την 5η στήλη. Πρέπει λοιπόν να φιλτράρουμε το "Finance".

Κώδικας:

 Sub AutoFilter_Example1 () Range ("A1: E25"). AutoFilter Field: = 5, Criteria1: = "Finance" End Sub 

Αυτό είναι όλο, εκτελέστε αυτόν τον κώδικα χειροκίνητα ή μέσω του πλήκτρου F5 θα φιλτράρει μόνο το "Finance" από τη λίστα.

Παράδειγμα # 2 - Χειριστής στο Αυτόματο φίλτρο

Έχουμε δει πώς να φιλτράρετε τη μοναδική τιμή. Τώρα θα δούμε πώς να φιλτράρετε πολλά στοιχεία. Ας υποθέσουμε ότι μαζί με το "Finance" θέλετε να φιλτράρετε επίσης το τμήμα "Πωλήσεις", έτσι μπορούμε να το κάνουμε χρησιμοποιώντας τους χειριστές.

Βήμα 1: Αφού εφαρμόσετε τα πρώτα κριτήρια στο επόμενο όρισμα, επιλέξτε τον τελεστή ως "xlOr".

Κώδικας:

 Sub AutoFilter_Example2 () Range ("A1: E25"). AutoFilter Field: = 5, Criteria1: = "Finance", Operator: = xl Ή End Sub 

Βήμα 2: Τώρα στα Κριτήρια 2 αναφέρετε την τιμή ως "Πωλήσεις".

Κώδικας:

 Sub AutoFilter_Example2 () Range ("A1: E25"). AutoFilter Field: = 5, Criteria1: = "Finance", Operator: = xlOr, Criteria2: = "Sales" End Sub 

Βήμα 3: Εντάξει, εκτελέστε αυτόν τον κωδικό χρησιμοποιώντας το πλήκτρο F5 ή χειροκίνητα θα φιλτράρει τόσο το "Finance" όσο και το "Sales".

Στο όρισμα χειριστή, έχω χρησιμοποιήσει το "xlOr", αυτό θα επιλέξει τόσο "Χρηματοοικονομικά" όσο και "Πωλήσεις" κάτω από το φίλτρο.

Παράδειγμα # 3 - Φιλτράρετε αριθμούς χρησιμοποιώντας το Αυτόματο φίλτρο

Χρησιμοποιώντας το σύμβολο χειριστή "XlAnd" μπορούμε επίσης να φιλτράρουμε αριθμούς. Ας υποθέσουμε ότι από τη στήλη Υπερωρίες θέλετε να φιλτράρετε όλες τις τιμές που είναι> 1000 αλλά <3000.

Βήμα 1: Το πρώτο  πράγμα αλλάζει το πεδίο από 5 σε 4.

Κώδικας:

 Sub AutoFilter_Example3 () Range ("A1: E25"). AutoFilter Field: = 4 End Sub 

Βήμα 2: Τα κριτήρια 1 είναι> 1000.

Κώδικας:

 Sub AutoFilter_Example3 () Range ("A1: E25"). AutoFilter Field: = 4, Criteria1: = "> 1000", End Sub 

Βήμα 3: Εδώ πρέπει να ταιριάξουμε και τα δύο κριτήρια, οπότε χρησιμοποιήστε το "xlAnd" ως χειριστή

Κώδικας:

 Sub AutoFilter_Example3 () Range ("A1: E25"). AutoFilter Field: = 4, Criteria1: = "> 1000", Operator: = xl Και End End 

Βήμα 4: Τα κριτήρια 2 θα <3000.

Κώδικας:

 Sub AutoFilter_Example3 () Range ("A1: E25"). AutoFilter Field: = 4, Criteria1: = "> 1000", Operator: = xlAnd, Criteria2: = "<3000" End Sub 

Τώρα αν εκτελέσετε αυτόν τον κώδικα χειροκίνητα ή μέσω του πλήκτρου F5, θα φιλτράρει όλες τις τιμές από τη στήλη Υπερωρίες που είναι> 1000 αλλά <3000.

Παράδειγμα # 4 - Φιλτράρισμα από διαφορετικές στήλες χρησιμοποιώντας το Αυτόματο φίλτρο

Για να φιλτράρουμε δεδομένα από διαφορετικές στήλες, πρέπει να χρησιμοποιήσουμε μια διαφορετική διαδικασία. Ας υποθέσουμε ότι θέλετε να φιλτράρετε το τμήμα "Οικονομικών" και επίσης θέλετε να φιλτράρετε τους αριθμούς μισθών που είναι> 25000 αλλά <40000.

Μπορείτε να χρησιμοποιήσετε τον παρακάτω κώδικα το κάνει αυτό.

Κώδικας:

 Sub AutoFilter_Example4 () With Range ("A1: E25"). AutoFilter Field: = 5, Criteria1: = "Finance". AutoFilter Field: = 2, Criteria1: = "> 25000", Operator: = xlAnd, Κριτήρια2: = " <40000 "End με End Sub 

Αυτό θα φιλτράρει δύο στήλες.

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

Πράγματα που πρέπει να θυμάστε

  • Δοκιμάστε διαφορετικούς συνδυασμούς στο Operator για να μάθετε το VBA AutoFilter.
  • Εάν δεν είστε σίγουροι τι να τοποθετήσετε δοκιμάστε να χρησιμοποιήσετε τη μακροεντολή εγγραφής.
  • Εάν θέλετε να φιλτράρετε τις τιμές κειμένου, τότε πρέπει να τις παρέχετε σε διπλά εισαγωγικά.
  • Χρησιμοποιήστε τη δήλωση WITH για να εφαρμόσετε περισσότερα από ένα φίλτρα στηλών.