Anzeige Autofilter Kriterien nach in Microsoft Excel mit VBA Filterung
In diesem Artikel erstellen wir ein Makro, um die im automatischen Filter verwendeten Kriterien anzuzeigen.
Rohdaten bestehen aus Kundendaten, einschließlich Name, Telefonnummer, E-Mail-ID und Firmenname.
Wir haben einen Filter in der Spalte Firma angewendet und möchten nun den Namen der Firma bestimmen, auf die der Filter angewendet wird.
Wir klicken auf die Schaltfläche „Filterdaten trennen“, um die Kriterien abzurufen, für die der Filter angewendet wird.
Code Erklärung
IntRow = Range („A10“). CurrentRegion.Rows.Count + 12 Der obige Code wird verwendet, um eine Zeilennummer abzurufen, in der die Ausgabe angezeigt werden soll.
ActiveSheet.AutoFilter.Filters (IntCol) .On Mit dem obigen Code wird überprüft, ob der Filter auf die jeweilige Spalte angewendet wird.
Für jeden StringValue in .Criteria1 MainString = MainString + Mid (StringValue, 2) + „|“
Weiter Mit dem obigen Code wird eine Zeichenfolge erstellt, die aus allen im Filter verwendeten Kriterienwerten besteht.
Bereich („A10“). CurrentRegion.SpecialCells (xlCellTypeVisible) .Copy _ Cells (IntRow + 1, 1)
Der obige Code wird verwendet, um sichtbare Zeilen an das angegebene Ziel zu kopieren.
Bitte folgen Sie unten für den Code
Option Explicit Sub FilterCriteria() 'Declaring variables Dim IntRow, IntCol As Integer Dim MainString, StringValue As Variant 'Initializing the row and column number IntRow = Range("A10").CurrentRegion.Rows.Count + 12 IntCol = 1 'Looping through all the cells until blank cell is encountered in the 10th row Do Until IsEmpty(Cells(10, IntCol)) With ActiveSheet.AutoFilter.Filters(IntCol) 'Checking whether filter is applied on the column If .On Then MainString = "Filter On Column no. " & IntCol & " on values : " 'Creating text which consists of values used in the filter For Each StringValue In .Criteria1 MainString = MainString + Mid(StringValue, 2) + "|" Next 'Assigning value to cell Cells(IntRow, 1).Value = MainString Exit Do End If End With IntCol = IntCol + 1 Loop 'Copying the visible cells to row after the filter data Range("A10").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy _ Cells(IntRow + 1, 1) End Sub
Wenn dir dieser Blog gefallen hat, teile ihn mit deinen Freunden auf Facebook und Facebook.
Wir würden gerne von Ihnen hören, lassen Sie uns wissen, wie wir unsere Arbeit verbessern und für Sie verbessern können. Schreiben Sie uns unter [email protected]