Inhaltsverzeichnis
Excel Befehl Sort & Filter hat eine begrenzte Reichweite bis Daten filtern Aber mit VBA können Sie Daten filtern In diesem Artikel finden Sie 8 nützliche Beispiele, die Sie verwenden können VBA Code nach Daten filtern in excel mit VBA Codes mit anschaulichen Illustrationen.
Download Arbeitsbuch Praxis
Sie können die kostenlose Excel-Vorlage von hier herunterladen und selbst üben.
VBA-Code zum Filtern von Daten.xlsm8 Beispiele für die Verwendung von VBA-Code zum Filtern von Daten in Excel
Machen wir uns zunächst mit unserem Datensatz vertraut, der einige Geschlecht, Status und Alter der Schüler .
1 VBA-Code zum Filtern von Daten anhand eines Textkriteriums in Excel verwenden
In unserem allerersten Beispiel werden wir Folgendes verwenden VBA zu Filter nur Männlich Studenten aus dem Geschlecht Spalte des Datensatzes.
Schritte:
- Klicken Sie mit der rechten Maustaste auf . über die Blatttitel .
- Dann Wählen Sie Code anzeigen von der Kontextmenü .
Kurz darauf wurde eine VBA öffnet sich ein Fenster.
- Typ die folgenden Codes Darin...
Sub Filter_Data_Text() Worksheets("Text Criteria").Range("B4").AutoFilter Field:=2, Criteria1:="Male" End Sub
- Später, minimieren Sie die VBA
Code-Aufschlüsselung
- Hier habe ich eine Unter Verfahren, Filter_Daten_Text() .
- Dann wurde die Bereich Eigenschaft zu deklarieren, um unsere jeweiligen Blattname und Bereich
- Als nächstes habe ich die AutoFilter-Methode zu verwenden Kriterien meiner Wahl, wo Feld:=2 bedeutet Spalte 2 . und Criteria1:="Männlich" zu Filter die Daten für Männlich.
- Danach, um öffnen die Dialogfeld "Makros , anklicken. wie folgt: Entwickler> Makros.
- Wählen Sie die Makro-Name wie in der Codes .
- Schließlich, nur drücken Ausführen .
Schauen Sie sich jetzt an, dass wir nur Daten der männlichen Studenten nach Filtern .
Lesen Sie mehr: Excel-Filterdaten auf der Grundlage von Zellwerten (6 effiziente Möglichkeiten)
2 VBA-Code zum Filtern von Daten mit mehreren Kriterien in einer Spalte anwenden
Hier, wir werden Filter für mehrere Kriterien in einer Spalte. Aus Spalte Nummer drei des Datensatzes werden wir Filter für Absolventen und Postgraduiertenstudium Studenten.
Schritte:
- Befolgen Sie die ersten beiden Schritte der erstes Beispiel zum Öffnen des VBA-Fenster .
- Später, Typ die folgenden Codes Darin...
Sub Filter_Eine_Spalte() Worksheets("Einspaltig").Range("B4").AutoFilter Field:=3, Criteria1:="Graduate", Operator:=xlOr, Criteria2:="Postgraduate" End Sub
- Dann minimieren Sie die VBA
Code-Aufschlüsselung
- Hier habe ich eine Unter Verfahren, Filter_Eine_Spalte() .
- Dann wurde die Bereich Eigenschaft zu deklarieren, um unsere jeweiligen Blattname und Bereich
- Als nächstes habe ich die AutoFilter-Methode zur Nutzung der Kriterien meiner Wahl, wo Feld:=3 bedeutet Spalte 3 . hier, Criteria1:="Absolvent" und Criteria2:="Postgraduate" zu Filter der Schülerin oder des Schülers Status .
- Schließlich habe ich Operator:=xlOr zu beantragen OR Zustand Filter für mehrere Kriterien.
- In diesem Moment, folgen die dritter Schritt von der erstes Beispiel zum Öffnen des Makros-Dialog Box .
- Später, Wählen Sie den angegebenen Makro-Name und drücken Ausführen .
Bald darauf erhalten Sie die gefilterten Zeilen auf der Grundlage mehrerer Kriterien wie in der folgenden Abbildung.
Lesen Sie mehr: Filtern nach mehreren Kriterien in Excel (4 geeignete Methoden)
3 VBA-Code zum Filtern von Daten mit mehreren Kriterien in verschiedenen Spalten in Excel anwenden
Jetzt werden wir Filter für mehrere Kriterien - Männlich und Absolventen Studenten.
Schritte:
- Befolgen Sie die ersten beiden Schritte der erstes Beispiel zum Öffnen des VBA
- Später, schreiben. die folgenden Codes Darin...
Sub Filter_verschiedene_Spalten() With Worksheets("Verschiedene Spalten").Range("B4") .AutoFilter Feld:=2, Kriterium1:="Männlich" .AutoFilter Feld:=3, Kriterium1:="Absolvent" End With End Sub
- Danach das VBA-Fenster minimieren .
Code-Aufschlüsselung
- Hier habe ich eine Unter Verfahren, Filter_verschiedene_Spalten() .
- Dann habe ich die Mit zu verwendende Anweisung Mehrspaltig .
- Dann wurde die Bereich Eigenschaft zu deklarieren, um unsere jeweiligen Blattname und Bereich
- Als nächstes habe ich die AutoFilter-Methode zu verwenden Kriterien meiner Wahl, wo Feld:=2 bedeutet Spalte 2 und Feld:=3 bedeutet Spalte 3 .
- Hier werden ausgewählte Criteria1:="Männlich" für Geschlecht Spalte und Criteria1:="Absolvent" für Status Spalte zu Filter Daten von verschiedene Säulen .
- Dann den dritten Schritt befolgen von der erstes Beispiel zum Öffnen des Dialogfeld "Makros .
- Später, Wählen Sie den angegebenen Makro-Name und drücken Ausführen .
Hier ist die Ausgabe der Mehrfachkriterien.
Lesen Sie mehr: Excel VBA zum Filtern in derselben Spalte nach mehreren Kriterien (6 Beispiele)
4 VBA-Code zum Filtern der Top 3 Elemente in Excel verwenden
In diesem Beispiel werden wir den Filter die drei besten Studenten entsprechend ihrer Alter .
Schritte:
- Befolgen Sie die ersten beiden Schritte der erstes Beispiel zum Öffnen des VBA-Fenster .
- Dann Typ die folgenden Codes Darin...
Sub Filter_Top3_Items() ActiveSheet.Range("B4").AutoFilter Field:=4, Criteria1:="3", Operator:=xlTop10Items End Sub
- Danach minimieren Sie die VBA-Fenster .
Code-Aufschlüsselung
- Hier habe ich eine Unter Verfahren, Filter_Top3_Items() .
- Und dann verwendet Operator:=xlTop10Items zu Filter für die drei Besten Daten .
- Jetzt den dritten Schritt befolgen von der erstes Beispiel zum Öffnen des Makros-Dialog Box .
- Dann Wählen Sie den Makronamen wie in den Codes erwähnt und drücken Ausführen .
Sie erhalten dann eine Ausgabe wie in der folgenden Abbildung.
Lesen Sie mehr: Filtern nach Zellwert mit Excel VBA (4 Methoden)
Ähnliche Lektüre
- Kopieren und Einfügen bei Anwendung eines Filters in Excel
- Wie man eindeutige Werte in Excel filtert (8 einfache Möglichkeiten)
- Filtern nach mehreren Kriterien in Excel mit VBA (sowohl AND als auch OR)
- Wie man Textfilter in Excel verwendet (5 Beispiele)
- Wie man in Excel nach Datum filtert (4 schnelle Methoden)
5 VBA-Code zum Filtern der 50 höchsten Prozentsätze in Excel verwenden
Verwenden wir VBA Codes zum Filtern der die oberen fünfzig Prozent der Studenten aufgrund ihres Alters .
Schritte:
- Erstens, Befolgen Sie die ersten beiden Schritte der erstes Beispiel zum Öffnen des VBA-Fenster .
- Später, Typ die folgenden Codes Darin...
Sub Filter_Top50_Percent() ActiveSheet.Range("B4").AutoFilter Field:=4, Criteria1:="50", Operator:=xlTop10Percent End Sub
- Minimieren Sie die VBA-Fenster .
Code-Aufschlüsselung
- Hier habe ich eine Unter Verfahren, Filter_Top50_Percent() .
- Später verwendet Operator:=xlTop10Percent zu Filtern Sie die die besten fünfzig Prozent aus Spalte-4 .
- In diesem Moment, Folgen Sie dem dritten Schritt von der erstes Beispiel zum Öffnen des Dialogfeld Makros.
- Dann Wählen Sie den angegebenen Makro-Name und drücken Ausführen .
Insgesamt gab es 7 Studenten also für 50 Prozent zeigt es ungefähr drei Studenten .
Lesen Sie mehr: Verwendung der Formel für den Gewinnprozentsatz in Excel (3 Beispiele)
6 VBA-Code zum Filtern von Daten mit Platzhaltern anwenden
Wir können verwenden Platzhalterzeichen-* (Sternchen) in VBA-Codes um Daten in Excel zu filtern. Spalte Status filtern wir nur die Werte, die 'Post' enthalten .
Schritte:
- Befolgen Sie die ersten beiden Schritte der erstes Beispiel zum Öffnen des VBA-Fenster .
- Dann schreiben. die folgenden Codes Darin...
Sub Filter_mit_Wildcard() ActiveSheet.Range("B4").AutoFilter Field:=3, Criteria1:="*Post*" End Sub
- Später, minimieren Sie die VBA-Fenster .
Code-Aufschlüsselung
- Hier habe ich eine Unter Verfahren, Filter_mit_Wildcard() .
- Dann verwendet Bereich ("B4") um den Bereich festzulegen.
- Weiter , gebraucht AutoFilter zu Filter in Feld:=3 bedeutet Spalte 3.
- Criteria1:="*Post*" zu Filter die Werte, die 'Post' enthalten.
- Jetzt den dritten Schritt befolgen von der erstes Beispiel zum Öffnen des Dialogfeld Makros.
- Wählen Sie den angegebenen Makro-Name und drücken Ausführen .
Dann erhalten Sie die gewünschte Ausgabe.
Lesen Sie mehr: Wie man in Excel Filter hinzufügt (4 Methoden)
7 Excel VBA einbetten, um gefilterte Daten in ein neues Blatt in Excel zu kopieren
Wie ich sehe, befinden sich in meinem Datensatz einige gefilterte Daten, die ich nun in ein neues Blatt kopiere, indem ich VBA . Diese Codes funktionieren in der Tabelle nicht richtig, Sie müssen sie im Modul anwenden.
Schritte:
- Drücken Sie Alt+F11 zum Öffnen des VBA
- Dann klicken Sie auf Einfügen> Modul zu ein Modul öffnen .
- Jetzt schreiben. die folgenden Codes -
Sub Copy_Filtered_Data_NewSheet() Dim xRng As Range Dim xWS As Worksheet If Worksheets("Copy Filtered Data").AutoFilterMode = False Then MsgBox "Noo filtered data" Exit Sub End If Set xRng = Worksheets("Copy Filtered Data").AutoFilter.Range Set xWS = Worksheets.Add xRng.Copy Range("G4") End Sub
- Dann minimieren Sie die VBA
Code-Aufschlüsselung
- Hier habe ich eine Unter Verfahren, Copy_Filtered_Data_NewSheet() .
- Danach wird die Zwei-Variablen- x Rng Als Reichweite und xWS Als Arbeitsblatt.
- Dann verwendet eine IF-Anweisung zur Kontrolle Gefiltert
- Später verwendet MsgBox um die Ausgabe anzuzeigen.
- Dann verwendet Worksheets("Gefilterte Daten kopieren").AutoFilter.Range um die Gefiltert Bereich und verwendet hinzufügen um ein neues Blatt hinzuzufügen.
- Endlich, Bereich kopieren("G4") kopiert die Gefiltert Daten an den neues Blatt .
- Später, den dritten Schritt befolgen von der erstes Beispiel zum Öffnen des Dialogfeld "Makros .
- Dann Wählen Sie den angegebenen Makro-Name und drücken Ausführen .
Sie sehen nun, dass Excel ein neues Blatt geöffnet und die gefilterten Zeilen kopiert hat.
Lesen Sie mehr: Shortcut für Excel-Filter (3 schnelle Anwendungen mit Beispielen)
8 VBA-Code zum Filtern von Daten mithilfe einer Dropdown-Liste anwenden
In unserem letzten Beispiel werden wir zuerst eine Dropdown-Liste für Geschlechter erstellen und diese dann zum Filtern von Daten verwenden. Dazu habe ich das Kriterium Geschlecht an einer anderen Stelle platziert und wir erstellen eine Dropdown-Liste in Zelle D14 .
Schritte:
- Wählen Sie Zelle D14 .
- Dann anklicken. wie folgt: Daten> Datenwerkzeuge> Datenüberprüfung> Datenüberprüfung.
Kurz darauf wurde eine Dialogfeld wird sich öffnen.
Liste auswählen von der Dropdown zulassen .
Dann Klicken Sie auf das Symbol Öffnen von der Quelle: Box .
Jetzt den Kriterienbereich auswählen und Drücken Sie die Eingabetaste .
- In diesem Moment, nur OK drücken .
Jetzt ist unser Drop-down Liste ist fertig.
- Jetzt Befolgen Sie die ersten beiden Schritte der erstes Beispiel zum Öffnen des VBA-Fenster .
- Dann schreiben. die folgenden Codes Darin...
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$D$14" Then If Range("D14") = "All" Then Range("B4").AutoFilter Else Range("B4").AutoFilter Field:=2, Criteria1:=Range("D14") End If End If End Sub
- Dann das VBA-Fenster minimieren .
Code-Aufschlüsselung
- Hier habe ich eine Privatunter Verfahren, Worksheet_Change(ByVal Target As Range).
- Dann habe ich ausgewählt Arbeitsblatt von Allgemein und Ändern Sie von Erklärungen .
- Stellen Sie dann die Adresse um den Standort zu kennen.
- Schließlich wird innerhalb der IF Anweisung verwendet die AutoFilter Methode mit Feld und Kriterien
- Jetzt gerade Kriterien aus der Dropdown-Liste auswählen und die Der Filter wird aktiviert .
Hier ist die Gefiltert Ausgabe nach Auswahl von Männlich von der Drop-down .
Lesen Sie mehr: Filtern nach Liste in einem anderen Blatt in Excel (2 Methoden)
Praxisteil
In der oben angegebenen Excel-Datei finden Sie ein Übungsblatt, mit dem Sie die erläuterten Möglichkeiten üben können.
Schlussfolgerung
Ich hoffe, die oben beschriebenen Verfahren sind gut genug, um sie anzuwenden. VBA Code nach Filter Fühlen Sie sich frei, Fragen im Kommentarbereich zu stellen und geben Sie mir bitte Feedback.