969 Aufrufe
Gefragt in Tabellenkalkulation von ahorn38 Experte (3.2k Punkte)
Hallo,

ich möchte die Zeilen/Datensätze zählen, die nach Setzen eines Filters noch eingeblendet sind:

[code]For i = 2 To lngEnde
If Columns(i).Hidden = False Then x = x + 1
Next

Das funktioniert aber nicht weil auch Zeilen gezählt werden, die ausgeblendet sind. Weiß jemand Rat?
Danke und Gruß
Andreas

2 Antworten

0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Andreas,

zähle doch einfach die verbliebenen Werte einer beliebigen Spalte der gefilterten Liste (im Beispiel Spalte A), mit der Tabellenfunktion TEILERGEBNIS()

Option Explicit

Sub test()
MsgBox WorksheetFunction.Subtotal(3, Range("A:A")) - 1
End Sub


Wenn keine Spaltenüberschrift vorhanden ist, kannst du auf -1 verzichten.

Gruß
Rainer
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo noch mal,

nach deinem Muster müsste der Code so aussehen

Option Explicit

Sub test()
Dim intI As Integer, intX As Integer
For intI = 2 To Cells(Rows.Count, 1).End(xlUp).Row
If Rows(intI).Hidden = False Then intX = intX + 1
Next
MsgBox intX
End Sub


Gruß
Rainer
...