Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
648to652
648to652
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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
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
Anzeige
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
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

332 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige