Probleme mit .Find / .FindNext Methode
Holger
in einer UnterProzedur benutze ich erst die Cells.Find Methode und anschliessend in einer Do ... Loop Schleife die .FindNext Methode. Hab ich aus der VB Hilfe geklaut ;).
Der gesuchte Wert kann jedenfalls mehrmals vorhanden sein und es muss noch ein zweites Kriterium überprüft werden, damit eine Aktion erfolgt.
Nun kann der Fall eintreten, dass der Wert zwar gefunden wird, aber das Kriterium nicht und dann sollte die Prozedur verlassen. Genau das klappt aber nicht,
da .FindNext anscheinend ewig Werte liefert, da es immer wieder von vorne anfängt?!
Gibt es hierfür eine Lösung?
Sub MatchProductID(ByVal ProductID As String, ByVal ctry As String, ByVal rngBereich As Range)
Dim rngmyCell As Range
Dim blnID As Boolean
InstoreWS.Activate
blnID = False
With rngBereich
Set rngmyCell = .Find(ProductID, LookIn:=xlValues)
If Not rngmyCell Is Nothing Then
Do
If rngmyCell.Offset(0, 4).Value = ctry Then
strProductCode = rngmyCell.Offset(0, 1).Value
blnID = True
Exit Sub
End If
Set rngmyCell = .FindNext(rngmyCell)
Loop While Not rngmyCell Is Nothing And blnID = False 'Problem, er geht nur raus _
wenn das zweite Kirterim erfüllt ist, ansonsten ist er in einer Endlosschleife, das .FindNext immer wieder ein Ergebnis liefert.
Else
strProductCode = "N.A."
End If
End With
End Sub