Find-Methode zweimal nutzen
29.09.2020 17:40:37
Nutzer22
ich habe folgenden Code:
Sub TESTER()
Dim Ziel As Worksheet
Dim Quelle As Worksheet
Set Quelle = Worksheets("Beispiel1")
Dim wert1 As Range
Dim wert2 As Range
Dim rgSearch As Range
Set rgSearch = Quelle.Range("A1:G55")
Set wert1 = rgSearch.Find("Hallo", LookIn:=xlValues, LookAt:=xlWhole)
Set wert2 = rgSearch.Find("test", LookIn:=xlValues, LookAt:=xlWhole)
Dim firstCellAddress As String
firstCellAddress = wert1.Address
Do
MsgBox ("Wert 1: " & wert1)
Set wert1 = rgSearch.FindNext(wert1)
Loop While firstCellAddress wert1.Address
End Sub
In meiner Tabelle befindet sich mehrfach der Wert "Hallo" und mehrfach der Wert "test".Jetzt bekomme ich beim Ausführen in der MsgBox in der ersten "Runde" den richtigen gefundenen Wert "Hallo". Jedoch danach gibt er mir nur noch die Werte "test" aus. Dies ist nicht richtig, weil ich nur alle "Hallo" angezeigt bekommen möchte.
Wenn ich die Zeile "Set wert2 = rgSearch.Find("test", LookIn:=xlValues, LookAt:=xlWhole)" lösche, funktioniert alles wie es soll.
Wieso springt die FindNext() Methode in den Find-Aufruf von "test"?
Das weglassen der Zeile von Wert2 ist leider keine Option, da ich diesen später benötige.
Vielen Dank im Voraus :)