Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1076to1080
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
Inhaltsverzeichnis

LastRow mit Autofilter

LastRow mit Autofilter
03.06.2009 17:43:29
mathon
Hallo Zusammen
ich verwende folgende Methode um die letzte Zeile in einer Tabelle zu ermitteln:

Function LastRow(sh As Worksheet)
On Error Resume Next
LastRow = sh.Cells.Find(What:="*", _
After:=sh.Range("A1"), _
LookAt:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Row
On Error GoTo 0
End Function


Wenn ich die Funktion ausführe ohne Autofilter, dann gibt er auch die korrekte Anzahl an Zeilen zurück. Wenn ich jedoch einen Autofilter drin habe und nur bestimmte Zeilen selektiert habe, dann gibt er nicht mehr die korrekte Anzahl an Zeilen zurück. Das heisst auch wenn nach der Selektion noch eine Reihe von Zeilen in der Tabelle angezeigt werden, gibt er mir zB. wenn ich die Funktion verwende nur eine 1 zurück obwohl noch immer zB. 500 Zeilen da sind.
Weiss jemand woran das liegen könnte?
Gruss, matti

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

Betreff
Datum
Anwender
Anzeige
AW: LastRow mit Autofilter
03.06.2009 17:51:05
Ramses
Hallo
Was willst du denn erreichen ?
Mit der "LastRow" kommst du auch nicht viel weiter wenn du markieren willst, da dann auch die ausgeblendeten mitselektiert/kopiert werden.
Schau dir mal in der Online-Hilfe die Funktion "SpecialCells" an.
Hier ein Auszug
Syntax
Ausdruck.SpecialCells(Type, Value)
Ausdruck Eine Variable, die ein Range-Objekt darstellt.
Parameter
Name Erforderlich/Optional Datentyp Beschreibung
Typ Erforderlich XlCellType Die einzuschließenden Zellen.
Wert Optional Variant Wenn Type auf xlCellTypeConstants oder auf xlCellTypeFormulas festgelegt wurde, können Sie mit diesem Argument die Typen von Zellen bestimmen, die im Ergebnis eingeschlossen werden sollen. Diese Werte können addiert werden, wenn mehrere Typen zurückgegeben werden sollen. Standardmäßig werden unabhängig vom Typ alle Konstanten oder Formeln ausgewählt.
Rückgabewert
Range
Anmerkungen
XlCellType-Konstanten Wert
xlCellTypeAllFormatConditions. Zellen mit beliebigem Format -4172
xlCellTypeAllValidation. Zellen mit Gültigkeitskriterien -4174
xlCellTypeBlanks. Leere Zellen 4
xlCellTypeComments. Zellen mit Kommentaren -4144
xlCellTypeConstants. Zellen mit Konstanten 2
xlCellTypeFormulas. Zellen mit Formeln -4123
xlCellTypeLastCell. Die letzte Zelle im verwendeten Bereich 11
xlCellTypeSameFormatConditions. Zellen mit gleichem Format -4173
xlCellTypeSameValidation. Zellen mit gleichen Gültigkeitskriterien -4175
xlCellTypeVisible. Alle sichtbaren Zellen 12
XlSpecialCellsValue-Konstanten Wert
xlErrors 16
xlLogical 4
xlNumbers 1
xlTextValues 2
Gruss Rainer
Anzeige
AW: LastRow mit Autofilter
03.06.2009 18:07:02
Gerd
Hallo Matti,
welche Anzahl möchtest Du?
Die der sichtbaren Zeilen im Autofilterbereich?
Die aller Zeilen trotz Autofilter, einschl. ausgeblendeter Zeilen?
Gruß Gerd
AW: LastRow mit Autofilter
03.06.2009 22:38:33
Christian
Hallo,
bei mehreren ausgefüllten Spalten findest du die tatsächliche letzte benutzte Zeile - unabhä _ ngig von Autofilter o.ä. - zB mit folgender Funktion:

Option Explicit
Function LastRow(wks As Worksheet) As Long
Dim lngFirst&, lngLast&, lngTmp&
With Application
If .CountA(wks.Cells) = 0 Then Exit Function
lngLast = wks.Rows.Count
If .CountA(wks.Rows(lngLast)) Then LastRow = lngLast: Exit Function
Do While lngLast > lngFirst + 1
lngTmp = (lngFirst + lngLast) \ 2
If .CountA(wks.Rows(lngTmp).Resize(lngLast - lngTmp)) Then _
lngFirst = lngTmp Else lngLast = lngTmp
Loop
LastRow = IIf(.CountA(wks.Rows(lngLast)), lngLast, lngFirst)
End With
End Function

Die Funktion braucht 16 Schritte und stammt wohl ursprünglich von Christoph M, auch er sich seit langer Zeit schon hier schon sehr rar macht
Gruß
Christian
PS: bei den "SpecialCells" bin ich immer sehr skeptisch...

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige