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

Πίνακας περιεχομένων

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

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

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

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

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

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

Το 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 AutoFilter; (με παράδειγμα)

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

Τώρα, χρησιμοποιώντας τον κώδικα 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: Μετά την εφαρμογή του φίλτρου, το πρώτο όρισμα είναι να αναφέρουμε από ποια στήλη φιλτράρουμε τα δεδομένα. Σε αυτήν την περίπτωση, πρέπει να φιλτράρουμε τα δεδομένα από τη στήλη Τμήμα, οπότε ο αριθμός στήλης εάν 5.

Κώδικας:

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

Step 2: Criteria 1 is nothing but what we want to filter from the 5th column. So we need to filter out “Finance.”

Code:

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

So that’s all, run this code manually, or through the F5 key, it will filter out only “Finance” from the list.

Example #2 - Operator in AutoFilter

We have seen how to filter the single value. Now we will see how to filter multiple elements. Assume along with “Finance” you want to filter the “Sales” department as well, so we can do this by using Operators.

Step 1: After applying the first criteria in the next argument, select the operator as “xlOr.”

Code:

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

Step 2: Now, in Criteria 2, mention the value as “Sales.”

Code:

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

Step 3: Ok, done run this code using the F5 key or manually, it will filter out both “Finance” & “Sales.”

In the Operator argument, I have used “xlOr” this will select both “Finance” & “Sales” under the filter.

Example #3 - Filter Numbers using AutoFilter

Using the Operator symbol “XlAnd,” we can filter out numbers as well. Assume from the Overtime column you want to filter out all the values which are>1000 but <3000.

Step 1: The first thing is changing the Field from 5 to 4.

Code:

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

Step 2: Criteria 1 is>1000.

Code:

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

Step 3: Here, we need to match both the criteria, so use “xlAnd” as the operator.

Code:

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

Step 4: Criteria 2 will <3000.

Code:

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

Now, if you run this code manually or through the F5 key, it will filter out all the values from the Overtime column, which are>1000 but <3000.

Example #4 - Filter from Different Columns using AutoFilter

In order to filter out data from different columns, we need to use a different process. Assume you want to filter out the “Finance” department and also you want to filter out Salary numbers, which are>25000 but <40000.

You can use the below code does that.

Code:

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 για να εφαρμόσετε περισσότερα από ένα φίλτρα στηλών.

ενδιαφέροντα άρθρα...