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

Forumthread: Wert finden und letzte Zeile bestimmen

Wert finden und letzte Zeile bestimmen
06.08.2005 10:50:04
Frederike
Gleich noch eine Frage hinterher.
Habe folgendes Problem. In einer Datei mit 5000 Zeilen taucht das Wort "Endsumme" ca. 300 mal auf- ich möchte die letzte Zeile mit dem Begriff bestimmen.
mit folgendem Befehl finde ich immer den ersten.
lz = Columns(3).Find("").Row ? mit lz as Integer
Was fehlt?
Danke Frederike
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wert finden und letzte Zeile bestimmen
06.08.2005 11:26:14
Matthias
Hallo Frederike,
ist ziemlich gestöpselt, funktioniert aber.
Wenn der Begriff gar nicht gefunden wurde, ist lz=0.

Sub test()
Dim r As Range, ralt As Range
Dim lz As Long
Set ralt = Range("A1")
Do
Set r = Range("A:A").Find(What:="Endsumme", after:=ralt)
If r Is Nothing Then Exit Do
If r.Row > ralt.Row Then Set ralt = r
Loop Until r.Row < ralt.Row
If r Is Nothing Then
lz = 0
Else
lz = ralt.Row
End If
End Sub

Gruß Matthias
Anzeige
AW: Wert finden ... - Korrektur
06.08.2005 11:30:55
Matthias
Hallo Frederike,
kleine Korrektur:
ändere diese Zeile:

Loop Until r.Row <= ralt.Row ' kleiner-GLEICH

Sonst hängt er in einer Endlosschleife, wenn der Wert nur einmal vorhanden ist.
Gruß Matthias
AW: Wert finden ... - Rückzug ;-)
06.08.2005 12:08:12
Matthias
Hallo Frederike,
nimm lieber Erichs Lösung, die ist kürzer und besser.
Meine Korrektur erzeugt schon wieder einen neuen Fehler :-(
Gruß Matthias
Anzeige
AW: Wert finden und letzte Zeile bestimmen
06.08.2005 12:00:03
Erich
Hallo Frederike,
das geht auch mit einer Excel-Matrixformel innerhalb von VBA:
lz = Application.Evaluate("=MAX((A1:A6000=""Endsumme"")*ROW(1:6000))")
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Wert finden und letzte Zeile bestimmen
06.08.2005 16:56:36
FP
Hallo Frederike,
so geht das bestimmt schneller:
Public

Function SucheLetztenEintrag(ByVal wo As Range, ByVal was As String) As Long
Dim rngGefunden   As Range
On Error Resume Next
With wo
Set rngGefunden = .Find(was, .Cells(1), xlValues, xlWhole, , xlPrevious)
If Not rngGefunden Is Nothing Then SucheLetztenEintrag = rngGefunden.Row
End With
End Function

Aufruf: z.B. Suche in Spalte C
lz = SucheLetztenEintrag(Columns(3),"EndSumme")
Servus aus dem Salzkammergut
Franz
Anzeige
;

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