AW: VBA suchen in Spalte von unten nach oben
11.05.2023 19:21:02
Yal
Hallo Joschi,
es geht nicht ohne Loop. Der Loop muss abgebrochen werden, wenn die StartZelle wieder gefunden wird.
Allgemeine Version:
Sub Makro2()
Dim Z As Range 'Z wie Zelle
Dim StartAdresse As String
Set Z = Cells(Rows.Count, 1).End(xlUp)
StartAdresse = Z.Address 'Wichtig, Teil 1
Set Z = Cells.Find(What:=Z.Value, After:=Z, LookAt:=xlWhole, SearchDirection:=xlPrevious)
If Not Z Is Nothing Then
Do
Debug.Print Z.Address, Z.Value
Set Z = Cells.FindPrevious(After:=Z)
Loop While Z.Address > StartAdresse 'Wichitg, Teil 2: ohne das, endlose Schleife
End If
End Sub
Aber weil der gesuchte Wert auch Teil des gesuchten Bereichs ist, und somit immer was gefunden wird, kann am abkürzen (wenngleich nicht wesentlich "besser"):
Sub Makro2()
Dim Z As Range 'Z wie Zelle
Dim StartAdresse As String
Set Z = Cells(Rows.Count, 1).End(xlUp)
StartAdresse = Z.Address
Set Z = Cells.Find(What:=Z.Value, After:=Z, LookAt:=xlWhole, SearchDirection:=xlPrevious)
'Sonderfall "die gesuchte ist Teil des gesuchten Bereichs
Do While Z.Address > StartAdresse
Debug.Print Z.Address, Z.Value
Set Z = Cells.FindPrevious(After:=Z)
Loop
End Sub
VG
Yal