1.1k Aufrufe
in Tabellenkalkulation von ahorn38 Experte (3.3k 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
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
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

Deine Antwort

Dein angezeigter Name (optional):
Datenschutz: Deine Email-Adresse benutzen wir ausschließlich, um dir Benachrichtigungen zu schicken. Es gilt unsere Datenschutzerklärung.
Anti-Spam-Captcha:
Bitte logge dich ein oder melde dich neu an, um das Anti-Spam-Captcha zu vermeiden.
...