Excel VBA: Προηγμένο φίλτρο με πολλαπλά κριτήρια σε μια σειρά (5 μέθοδοι) -

  • Μοιραστείτε Αυτό
Hugh West

Όταν εργάζεστε με μεγάλες ποσότητες δεδομένων και απαιτείται να ορίσετε πολλά φίλτρα ταυτόχρονα, Προηγμένο φιλτράρισμα στο Excel Μπορεί επίσης να εφαρμοστεί για να καθαρίσετε τα δεδομένα σας, αφαιρώντας αντίγραφα. Κατά την εφαρμογή του Προχωρημένο φίλτρο , το VBA κώδικα είναι πολύ πιο εύκολο να εκτελεστεί. Σε αυτό το σεμινάριο, θα σας δείξουμε πώς να εφαρμόσετε Προηγμένο φίλτρο VBA για σειρά πολλαπλών κριτηρίων σε Excel .

Κατεβάστε το βιβλίο ασκήσεων

Κατεβάστε αυτό το τετράδιο ασκήσεων για να εξασκηθείτε ενώ διαβάζετε αυτό το άρθρο.

Προηγμένο φίλτρο VBA.xlsm

5 αποτελεσματικές μέθοδοι για το προηγμένο φίλτρο VBA με πολλαπλά κριτήρια σε μια σειρά στο Excel

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

Σύνταξη προηγμένου φίλτρου VBA:

  • AdvancedFilter: Αναφέρεται σε ένα αντικείμενο εύρους. Μπορείτε να ορίσετε το εύρος στο οποίο θέλετε να εφαρμόσετε το φίλτρο.
  • Δράση: είναι ένα απαιτούμενο όρισμα που έχει δύο επιλογές, xlFilterInPlace ή xlFilterCopy . xlFilterInPlace χρησιμοποιείται για το φιλτράρισμα της τιμής στο σημείο όπου βρίσκεται το σύνολο δεδομένων. xlFilterCopy χρησιμοποιείται για να λάβετε την τιμή του φίλτρου σε μια άλλη επιθυμητή θέση.
  • CriteriaRange: αντιπροσωπεύει τα κριτήρια για τα οποία θα φιλτραριστεί η τιμή.
  • CopyToRange: είναι η θέση στην οποία θα αποθηκεύσετε τα αποτελέσματα του φίλτρου σας.
  • Μοναδικό: είναι ένα προαιρετικό όρισμα. Αλήθεια για να φιλτράρει μόνο τις μοναδικές τιμές. Διαφορετικά, από προεπιλογή, θεωρείται ως Ψευδές .

Στην εικόνα που ακολουθεί, παρέχεται ένα σύνολο δεδομένων δείγματος για την εφαρμογή όλων των φίλτρων που θέλουμε να εκτελέσουμε.

1. Εφαρμογή προηγμένου φίλτρου VBA για τα κριτήρια OR σε μια σειρά στο Excel

Στην πρώτη μέθοδο, θα εφαρμόσουμε το Ή κριτήρια χρησιμοποιώντας το Προηγμένο φίλτρο VBA Ας πούμε ότι θέλουμε να φιλτράρουμε τα δεδομένα για το όνομα του προϊόντος. Cookies και Σοκολάτα Για να εφαρμόσετε το Ή κριτήρια, θα πρέπει να τοποθετήσετε την τιμή σε διαφορετικές γραμμές. Ακολουθήστε τα παρακάτω βήματα για να εκτελέσετε την εργασία.

Βήμα 1:

  • Τύπος Alt + F11 για να ανοίξετε το Μακροεντολή VBA .
  • Κάντε κλικ στο Εισαγωγή.
  • Επιλέξτε το Ενότητα.

Βήμα 2:

  • Στη συνέχεια, επικολλήστε τα εξής VBA κώδικα για την εφαρμογή του Ή.
 Sub Apply_VBA_Advanced_Filter_for_OR_Criteria() 'Declare Variable for dataset range and for criteria range Dim Dataset_Rng As Range Dim Criteria_Rng As Range 'Set the location and range of datase range and criteria range Set Dataset_Rng = Sheets("Sheet1").Range("B4:E11") Set Criteria_Rng = Sheets("Sheet1").Range("B14:E16") 'Apply Advanced Filter to filter the dataset using the criteriaDataset_Rng.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Criteria_Rng End Sub 

Βήμα 3:

  • Στη συνέχεια, αποθηκεύστε το πρόγραμμα και πατήστε F5 να τρέξει.
  • Ως εκ τούτου, θα λάβετε τα φιλτραρισμένα αποτελέσματα όπως φαίνεται στην παρακάτω εικόνα.

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

 Sub Remove_All_Filter() On Error Resume Next 'εντολή για την αφαίρεση όλων των φίλτρων ώστε να εμφανιστεί το προηγούμενο σύνολο δεδομένων ActiveSheet.ShowAllData End Sub 

  • Ως αποτέλεσμα, θα λάβετε την προηγούμενη έκδοση του συνόλου δεδομένων σας.

Διαβάστε περισσότερα: Παραδείγματα Excel VBA για προηγμένο φίλτρο με κριτήρια (6 κριτήρια)

2. Εκτέλεση προηγμένου φίλτρου VBA για τα κριτήρια AND σε μια σειρά στο Excel

Παρόμοια με την προηγούμενη μέθοδο, τώρα θα εκτελέσουμε το VBA Προηγμένο φίλτρο για το ΚΑΙ κριτήρια. Ας πούμε ότι θέλουμε να γνωρίζουμε τα μπισκότα με την τιμή των $0.65 όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης. Για την εφαρμογή του Ή κριτήρια, θα πρέπει να τοποθετήσετε την τιμή σε διαφορετικές στήλες. Για να εφαρμόσετε το ΚΑΙ κριτήρια, ακολουθήστε τις παρακάτω οδηγίες.

Βήμα 1:

  • Για να ανοίξετε Μακροεντολή VBA , πατήστε Alt + F11
  • Μετά το άνοιγμα του Μακροεντολή VBA , επικολλήστε τα ακόλουθα VBA κωδικούς σε μια νέα ενότητα.
 Sub Apply_VBA_Advanced_Filter_for_AND_Criteria() 'Declare Variable for dataset range and for criteria range Dim Dataset_Rng As Range Dim Criteria_Rng As Range 'Set the location and range of dataset range and criteria range Set Dataset_Rng = Sheets("Sheet2").Range("B4:E11") Set Criteria_Rng = Sheets("Sheet2").Range("B14:E15") 'Apply Advanced Filter to filter the dataset using the criteriaDataset_Rng.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Criteria_Rng End Sub 

Βήμα 2:

  • Τύπος F5 για να εκτελέσετε το πρόγραμμα αφού το αποθηκεύσετε.
  • Τέλος, λάβετε τα φιλτραρισμένα αποτελέσματα.

Διαβάστε περισσότερα: VBA για την αντιγραφή δεδομένων σε άλλο φύλλο με προηγμένο φίλτρο στο Excel

3. Αξιοποίηση του προηγμένου φίλτρου VBA για το OR με τα κριτήρια AND σε μια σειρά στο Excel

Μπορείτε επίσης να εφαρμόσετε το Ή και το ΚΑΙ κριτήρια και τα δύο σε συνδυασμό. Για παράδειγμα, θέλετε να λάβετε τις τιμές για Cookies ή Σοκολάτες , αλλά για το Cookies, υπάρχει ένα άλλο κριτήριο τιμής $0.65 Ακολουθήστε τις παρακάτω διαδικασίες για να το πετύχετε.

Βήμα 1:

  • Επικολλήστε τα ακόλουθα VBA κωδικούς μετά το άνοιγμα του Μακροεντολή VBA .
 Sub Apply_VBA_Advanced_Filter_for_OR_with_AND_Criteria() 'Declare Variable for dataset range and for criteria range Dim Dataset_Rng As Range Dim Criteria_Rng As Range 'Ορίστε τη θέση και το εύρος του dataset range και του criteria range Set Dataset_Rng = Sheets("Sheet3").Range("B4:E11") Set Criteria_Rng = Sheets("Sheet3").Range("B14:E16") 'Apply Advanced Filter to filter the dataset using the criteriaDataset_Rng.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Criteria_Rng End Sub 

Βήμα 2:

  • Στη συνέχεια, αποθηκεύστε πρώτα το πρόγραμμα πατώντας το πλήκτρο F5 για να το τρέξετε.
  • Κατά συνέπεια, θα βρείτε τις τιμές με ορισμένες ΚΑΙ και Ή.

Διαβάστε περισσότερα: Εφαρμογή προηγμένου φίλτρου με βάση πολλαπλά κριτήρια σε μία στήλη στο Excel

Παρόμοιες αναγνώσεις:

  • Προηγμένο φίλτρο με πολλαπλά κριτήρια στο Excel (15 κατάλληλα παραδείγματα)
  • Δυναμικό προηγμένο φίλτρο Excel (VBA & amp; Μακροεντολή)
  • Πώς να χρησιμοποιήσετε το φίλτρο για προχωρημένους στην VBA (μια καθοδήγηση βήμα προς βήμα)
  • Προηγμένο φίλτρο με εύρος κριτηρίων στο Excel (18 εφαρμογές)
  • Το προηγμένο φίλτρο του Excel δεν λειτουργεί (2 λόγοι και λύσεις)

4. Χρήση προηγμένου φίλτρου VBA για μοναδικές τιμές με πολλαπλά κριτήρια στο Excel

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

Βήμα 1:

  • Πρώτον, ανοίξτε το VBA Μακροεντολή πατώντας Alt + F11.
  • Επικολλήστε τα ακόλουθα VBA κωδικούς σε μια νέα ενότητα.
 Sub Apply_VBA_Advanced_Filter_for_Unique_Values() 'Declare Variable for dataset range and for criteria range Dim Dataset_Rng As Range Dim Criteria_Rng As Range 'Set the location and range of dataset range and criteria range Set Dataset_Rng = Sheets("Sheet4").Range("B4:E11") Set Criteria_Rng = Sheets("Sheet4").Range("B14:E16") 'Apply Advanced Filter to filter the dataset using the criteriaDataset_Rng.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Criteria_Rng, Unique:=True End Sub 

Βήμα 2:

  • Στη συνέχεια, πατήστε F5 για να εκτελέσετε το πρόγραμμα μετά την αποθήκευση.
  • Επομένως, θα λάβετε τιμές μόνο για τα μοναδικά.

Διαβάστε περισσότερα: Πώς να χρησιμοποιήσετε προηγμένο φίλτρο για μοναδικές εγγραφές μόνο στο Excel

5. Εκτέλεση του προηγμένου φίλτρου VBA για την περίπτωση υπό όρους

Εκτός από τις προηγούμενες μεθόδους, μπορείτε επίσης να εφαρμόσετε συνθήκες με τύπους. Για παράδειγμα, θέλουμε να βρούμε το Συνολικές τιμές οι οποίες είναι μεγαλύτερες από $100 Για να το πετύχετε, απλά ακολουθήστε τα βήματα.

Βήμα 1:

  • Πρώτον, για να ανοίξετε το Μακροεντολή VBA , πατήστε Alt + F11 .
  • Επιλέξτε ένα νέο Ενότητα και επικολλήστε τα ακόλουθα Κώδικες VBA .
 Sub Apply_VBA_Advanced_Filter_for_Formula() 'Declare Variable for dataset range and for criteria range Dim Dataset_Rng As Range Dim Criteria_Rng As Range 'Set the location and range of dataset range and criteria range Set Dataset_Rng = Sheets("Sheet5").Range("B4:E11") Set Criteria_Rng = Sheets("Sheet5").Range("B14:E15") 'Apply Advanced Filter to filter the dataset using the criteriaDataset_Rng.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Criteria_Rng End Sub 

Βήμα 2:

  • Δεύτερον, αποθηκεύστε το πρόγραμμα και πατήστε το πλήκτρο F5 για να δείτε τα αποτελέσματα.

Σημειώσεις. Επιπλέον, μπορείτε να λάβετε τα αποτελέσματα σε έναν ευνοϊκό χώρο, είτε σε μια νέα περιοχή είτε σε ένα νέο φύλλο εργασίας, εφαρμόζοντας την εντολή xlFilterCopy ενέργεια. Απλά, επικολλήστε το VBA κώδικες και εκτελέστε τους για να λάβετε τα αποτελέσματα σε Φύλλο6 σε εύρος B4:E11 .

 'Declare Variable for dataset range and for criteria range Dim Dataset_Rng As Range Dim Criteria_Rng As Range 'Set the location and range of dataset range and criteria range Set Dataset_Rng = Sheets("Sheet5").Range("B4:E11") Set Criteria_Rng = Sheets("Sheet5").Range("B14:E15") 'Apply Advanced Filter to filter the dataset using the criteria Dataset_Rng.AdvancedFilter Action:=xlFilterCopy,CriteriaRange:=Criteria_Rng, CopyToRange:=Sheets("Sheet6").Range("B4:E11") End Sub 

  • Κατά συνέπεια, δείτε το τελικό αποτέλεσμα σε ένα νέο φύλλο εργασίας 'Φύλλο6' .

Διαβάστε περισσότερα: Πώς να χρησιμοποιήσετε το προηγμένο φίλτρο εάν η περιοχή κριτηρίων περιέχει κείμενο στο Excel

Συμπέρασμα

Για να συνοψίσω, ελπίζω ότι τώρα καταλαβαίνετε πώς να χρησιμοποιείτε το VBA προηγμένο φίλτρο σε Excel για να φιλτράρετε πολλαπλές σειρές κριτηρίων. Όλες αυτές οι μέθοδοι θα πρέπει να χρησιμοποιηθούν για τη διδασκαλία και την εξάσκηση με τα δεδομένα σας. Κοιτάξτε το βιβλίο εξάσκησης και χρησιμοποιήστε αυτά που μάθατε. Λόγω της ζωτικής υποστήριξής σας, εμπνεόμαστε να συνεχίσουμε να παρουσιάζουμε σεμινάρια όπως αυτό.

Εάν έχετε οποιεσδήποτε ερωτήσεις, μη διστάσετε να επικοινωνήσετε μαζί μας. Παρακαλούμε να μας πείτε τη γνώμη σας στο τμήμα σχολίων παρακάτω.

Το Exceldemy το προσωπικό θα απαντήσει στα ερωτήματά σας το συντομότερο δυνατό.

Μείνετε μαζί μας και συνεχίστε να μαθαίνετε.

Ο Hugh West είναι ένας εξαιρετικά έμπειρος εκπαιδευτής και αναλυτής του Excel με πάνω από 10 χρόνια εμπειρίας στον κλάδο. Είναι κάτοχος πτυχίου Λογιστικής και Χρηματοοικονομικής και μεταπτυχιακού στη Διοίκηση Επιχειρήσεων. Ο Hugh έχει πάθος για τη διδασκαλία και έχει αναπτύξει μια μοναδική προσέγγιση διδασκαλίας που είναι εύκολο να ακολουθηθεί και να κατανοηθεί. Οι εξειδικευμένες γνώσεις του στο Excel έχουν βοηθήσει χιλιάδες φοιτητές και επαγγελματίες παγκοσμίως να βελτιώσουν τις δεξιότητές τους και να διαπρέψουν στην καριέρα τους. Μέσω του ιστολογίου του, ο Hugh μοιράζεται τις γνώσεις του με τον κόσμο, προσφέροντας δωρεάν μαθήματα Excel και διαδικτυακή εκπαίδευση για να βοηθήσει άτομα και επιχειρήσεις να αξιοποιήσουν πλήρως τις δυνατότητές τους.