Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
492to496
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
492to496
492to496
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Erste sichtbare Zeile im Filterbereich?

Erste sichtbare Zeile im Filterbereich?
02.10.2004 12:38:56
Frank
Hallo Leute,
wie kann ich in einem gefilterten Bereich die Zeilennummern der ersten
sichtbaren und der letzten sichtbaren Zeile ermitteln?
Grüße Frank

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Erste sichtbare Zeile im Filterbereich?
02.10.2004 13:09:27
Nepumuk
Hallo Frank,
die letzte Zeile ist kein Problem: Worksheets(1).Cells(1, 1).End(xlDown).Row
(Sofern der Filter in Zeile 1 sitzt.) Die erste Zeile kannst du ermitteln, inden du in einer Schleife die Hidden - Eigenschaft der Zeile abfrägst. Die erste sichtbare ist deine Zeile.
Gruß
Nepumuk
AW: Erste sichtbare Zeile im Filterbereich?
Frank
Hallo Nepumuk,
der Filterbereich beginnt in Zeile 3(Überschriften). Wie müßte denn da ein Makro aussehen? Hab leider kaum Ahnung von VBA.
Gruß Frank
AW: Erste sichtbare Zeile im Filterbereich?
02.10.2004 13:35:07
Nepumuk
Hallo Frank,
so würde es aussehen:


Public Sub Frank()
    Dim lngRow As Long
    For lngRow = 3 To Cells(2, 1).End(xlDown).Row
        If Not Rows(lngRow).Hidden Then Exit For
    Next
    MsgBox "Erste Zeile: " & CStr(lngRow) & " letzte Zeile: " & CStr(Cells(2, 1).End(xlDown).Row)
End Sub


Gruß
Nepumuk
Anzeige
AW: Erste sichtbare Zeile im Filterbereich?
Frank
Hallo Nepumuk,
der Code liefert mir zweimal eine 3, obwohl die letzte sichbare Zelle A23 ist?
Zeile 3 sind Überschriftten, Zeile 4 ist durch Filter ausgeblendet, Zeile 5 ist wieder
sichtbar. Hab deinen Code 1:1 kopiert.
Gruß Frank
AW: Erste sichtbare Zeile im Filterbereich?
02.10.2004 14:06:28
Nepumuk
Hallo Frank,
das war ein Missverständnis. Mit Filterbereich meine ich die erste gefilterte Zeile.


Public Sub Frank()
    Dim lngRow As Long
    For lngRow = 4 To Cells(3, 1).End(xlDown).Row
        If Not Rows(lngRow).Hidden Then Exit For
    Next
    MsgBox "Erste Zeile: " & CStr(lngRow) & " letzte Zeile: " & CStr(Cells(3, 1).End(xlDown).Row)
End Sub


Gruß
Nepumuk
Anzeige
Super, danke dir oT
Frank
oT
AW: Erste sichtbare Zeile im Filterbereich?
FP
Hi Frank,
das geht so:

Function FilterZeile1() As Long
With ActiveSheet
If .FilterMode Then
With .Cells.SpecialCells(xlVisible)
If .Areas(1).Rows.Count = 1 Then
FilterZeile1 = .Areas(2).Row
Else
If .Areas(1).Rows.Count > 1 Then FilterZeile1 = 2
End If
End With
End If
If FilterZeile1 > .Cells(1).CurrentRegion.Rows.Count Then _
FilterZeile1 = 0
End With
End Function

Rückgabewert 0 bedeutet:
a) Filtermodus ist NICHT aktiv
oder
b) keine Zeile entspricht den gesetzten Kriterien
Servus aus dem Salzkammergut
Franz
Anzeige
AW: Erste sichtbare Zeile im Filterbereich?
02.10.2004 14:33:16
Nepumuk
Hallo Franz,
der ist gut, den muss ich mir merken.
Gruß
Nepumuk
AW: da Zeile 3 die Überschriften enthält...
FP
Hi Frank,
mußt Du den Code noch daraufhin anpassen:

Function FilterZeile1() As Long
With ActiveSheet
If .FilterMode Then
With .Cells.SpecialCells(xlVisible)
If .Areas(1).Rows.Count < 4 Then
FilterZeile1 = .Areas(2).Row
Else
FilterZeile1 = 4
End If
If FilterZeile1 > .Areas(1).Cells(513).CurrentRegion.Rows.Count Then _
FilterZeile1 = 0
End With
End If
End With
End Function

Servus aus dem Salzkammergut
Franz

10 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige