Der Autofiltrationsfilter ist eines der nützlichsten und am häufigsten verwendeten Tools in Excel zum Filtern von Daten. Es ermöglicht Ihnen, nur die gewünschten Werte aus einem großen Datensatz auszuwählen und anzuzeigen. Die Möglichkeit, die Anzahl der Elemente zu zählen, die einem Filter entsprechen, ist eine sehr wichtige Aufgabe für die Datenanalyse.
VBA (Visual Basic for Applications) bietet die Möglichkeit, Prozesse in Excel zu automatisieren, einschließlich der Arbeit mit Autofiltern. Mit VBA können Sie die Anzahl der Elemente, die den angegebenen Filterbedingungen entsprechen, leicht berechnen.
- Aktivieren Sie das Arbeitsblatt, das die Daten enthält.
- Aktivieren Sie den Autofiltrationsfilter, um die gewünschten Werte auszuwählen.
- Zählen Sie die Anzahl der gefilterten Werte und zeigen Sie das Ergebnis an.
Ein solches Makro kann bei der Arbeit mit großen Datenmengen nützlich sein, wenn Sie schnell und einfach Informationen über die Anzahl der Elemente abrufen möchten, die bestimmte Filterbedingungen erfüllen. VBA Excel ist ein leistungsfähiges Werkzeug, das die Arbeit mit Autofiltern erheblich vereinfacht und es ermöglicht, schnell die benötigten Informationen aus großen Datenmengen zu erhalten.
Anzahl der Elemente im Excel-VBA-Autofiltrationsfilter
In VBA Excel können Sie die automatische Filterung verwenden, um die Daten in einer Tabelle nach festgelegten Kriterien auszuwählen. Aber was ist, wenn Sie die Anzahl der Elemente im Autofiltrationsfilter herausfinden möchten? Hier kommt VBA-Code zur Rettung, mit dem Sie die Anzahl der eindeutigen Werte in einer Spalte nach dem Anwenden eines Filters berechnen können.
Zunächst müssen wir ein Tabellenobjekt erstellen und aktivieren, mit dem wir arbeiten werden. Dies kann wie folgt erfolgen:
Dim tbl As ListObjectSet tbl = ThisWorkbook.Sheets("Лист1").ListObjects("Таблица1")tbl.AutoFilterMode = Falsetbl.Range.AutoFilter
Danach können wir den Filter auf die ausgewählte Spalte anwenden:
tbl.Range.AutoFilter Field:=1, Criteria1:="критерий"
Um nun die Anzahl der Elemente im Autofiltrationsfilter zu ermitteln, können wir die Funktion SpecialCells verwenden, mit der Sie Zellen mit bestimmten Eigenschaften auswählen können. In unserem Fall werden wir nach dem Anwenden des Filters nach Zellen mit sichtbaren Werten suchen:
Dim filteredRange As RangeSet filteredRange = tbl.DataBodyRange.SpecialCells(xlCellTypeVisible)
Jetzt können wir die Count-Funktion verwenden, um die Anzahl der sichtbaren Zellen zu zählen:
Dim filteredCount As LongfilteredCount = Application.WorksheetFunction.Count(filteredRange)
Beachten Sie, dass wir ein Application-Objekt verwenden.WorksheetFunction, um die Count-Funktion aus Excel aufzurufen. Dies ermöglicht es uns, die Excel-Funktionalität in VBA-Code zu verwenden.
Als Ergebnis enthält der Wert der Variablen filteredCount die Anzahl der Elemente im Autofiltrationsfilter der ausgewählten Spalte. Wir können diesen Wert verwenden, um die Daten weiter zu verarbeiten, z. B. um ein Ergebnis auszugeben oder andere Aktionen auszuführen.
Hier ist ein Beispiel für den vollständigen Code, mit dem Sie die Anzahl der Elemente in einem Autofiltrationsfilter berechnen können:
Sub CountFilteredElements()Dim tbl As ListObjectSet tbl = ThisWorkbook.Sheets("Лист1").ListObjects("Таблица1")tbl.AutoFilterMode = Falsetbl.Range.AutoFiltertbl.Range.AutoFilter Field:=1, Criteria1:="критерий"Dim filteredRange As RangeSet filteredRange = tbl.DataBodyRange.SpecialCells(xlCellTypeVisible)Dim filteredCount As LongfilteredCount = Application.WorksheetFunction.Count(filteredRange)MsgBox "Количество элементов в фильтре: " & filteredCountEnd Sub
Sie können diesen Code oder seine Modifikationen für Ihre spezielle Situation verwenden. Viel Glück bei der Arbeit mit VBA Excel!
Arbeiten mit dem Autofiltrationsfilter in VBA Excel
Mit dem Autofiltrationsfilter in Excel können Sie bestimmte Werte in einer Tabellenspalte auswählen, um die Daten anzuzeigen oder weiter zu analysieren. Mit VBA (Visual Basic for Applications) können Sie die Arbeit mit einem Autofiltrationsfilter automatisieren, einschließlich der Anzahl der Elemente, die bestimmte Filterbedingungen erfüllen.
Verwenden Sie das Range-Objekt, um mit dem Autofiltrationsfilter in VBA Excel zu arbeiten. Zuerst müssen Sie den Autofilter in der gewünschten Tabellenspalte aktivieren:
ActiveSheet.Range("A1").AutoFilter Field:=1
Als nächstes können Sie einen Filter anwenden, indem Sie die gewünschten Kriterien angeben:
ActiveSheet.Range("A1").AutoFilter Field:=1, Criteria1:="Значение"
In diesem Beispiel wird der Filter auf die erste Spalte der Tabelle angewendet, indem Werte gefiltert werden, die gleich "Wert" sind.
Um die Anzahl der Elemente zu berechnen, die die angegebenen Filterbedingungen erfüllen, müssen Sie auf die SpecialCells-Eigenschaft zugreifen, indem Sie den Zelltyp xlCellTypeVisible angeben. Zum Beispiel:
Dim filteredRange As RangeSet filteredRange = ActiveSheet.Range("A1").SpecialCells(xlCellTypeVisible)
Anschließend können Sie die Anzahl der Elemente im Filter mithilfe der Count-Eigenschaft abrufen:
Dim count As Longcount = filteredRange.Count
Die Variable count enthält nun die Anzahl der Elemente, die dem Autofiltrationsfilter in Spalte A entsprechen.
Daher bietet Excel VBA die Möglichkeit, mit dem Autofiltrationsfilter zu arbeiten, einschließlich der Anzahl der Elemente, die bestimmte Bedingungen erfüllen. Auf diese Weise können Sie die Datenanalyse automatisieren und die Arbeit mit Tabellen in Excel effizienter gestalten.