Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Wieso nicht 1.Zeile bei Filter anzeigen

Wieso nicht 1.Zeile bei Filter anzeigen
04.03.2006 11:46:42
Walter
Hallo Zusammen,
habe folgendes als Makro bzw. im Modul, mal von einem Forumsteilnehmer erhalten,
was auch die 1.Zeile bei einer selektion in einer Listbox anzeigt.

Function FindFirstRow_in_Filter(myDataBase As Range) As Long
FindFirstRow_in_Filter = myDataBase.SpecialCells(xlVisible).Row
End Function


Sub Typen_Anfang()
az = FindFirstRow_in_Filter(Range("E7:F7"))
Dim az
MsgBox az
End Sub

Mein Filter ist gesetzt in der Zelle E7+F7, es wird mir auf der Tabelle aber
immer 7 angezeigt, obwohl die 1. sichtbare Zelle Zeile18 ist.
Kann mir jemand helfen ?
Gruß Walter
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Habe Lösung selbst gefunden, zu Info...
04.03.2006 12:43:21
Walter
Hallo zusammen,
bin glücklich, habe Lösung gefunden:

Sub Zeile_Anfang()
Dim az
az = Range("A7").End(xlDown).Row         'so wird im Filter die erste Zeile angezeigt
MsgBox az
End Sub

Wenn z.b. nach einer Filterung die Zeile 18 die 1.Zeile ist wird in der MSGBOX 18
angezeigt.
Gruß Walter
Anzeige
AW: Wieso nicht 1.Zeile bei Filter anzeigen
04.03.2006 12:59:08
daniel
Hallo,
die Funktion ermittelt die erste sichtbare Reihe aus dem Angebenen Bereich.
Wenn du jetzt als Parameter einen Bereich übergibst, der die Zeile entält, in der der Filter steht, wirst du als Rückgabe immer diese ZeilenNr bekommen, da sie ja immer sichtbar ist.
Du mußt also wenn dein Filter in Range("E7:F7") steht, als Parameter
Range("E8:F99") an die Funktion übergeben, wobei die 99 für die letzte Zeilen-Nr. deines Datenbereichs steht.
oder du ergänzt die Funktion wie folgt, dann genügt es, wenn du irgendeine Zelle der Tabelle als Parameter übergibst (Vorzugsweise die erste Zelle der Überschrift, Range("E7")),

Function FindFirstRow_in_Filter(myDataBase As Range) As Long
Set myDataBase = myDataBase.CurrentRegion
Set myDataBase = Range(myDataBase(2, 1), myDataBase(myDataBase.Rows.Count, myDataBase.Columns.Count))
FindFirstRow_in_Filter = myDataBase.SpecialCells(xlVisible).Row
End Function

Gruß, Daniel
Anzeige
Danke o.t.
04.03.2006 13:06:56
Walter
Hallo Daniel,
Du hast Recht, mit dem was Du schreibst, habe es so gelöst.
mfg walter
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige