Find funktioniert nicht richtig
03.05.2016 08:08:52
Oisse
ich habe das Problem, dass ich nach einer exakten Zeichenfolge suchen muss.
Wenn diese Zeichenfolge nicht genau ist, dann soll der Vorgang abgebrochen werden.
Ich habe dazu folgenden Code, der so auch funktioniert aber warum funktioniert die find Methode nicht auf Exaktheit?
Set wsSearch = ThisWorkbook.Sheets(Tbl2)
'Suche in der Mappe in Spalte W (Wert der Zelle muss in diesem Fall komplett ü _
bereinstimmen, wenn das nicht gewünscht ist LookAt:= auf xlPart ändern)
With wsSearch.Range("W:W")
Set c = .Find(strFind, LookIn:=xlValues, LookAt:=xlWhole)
If c Is Nothing Then 'Wenn die Vorgangsnummer nicht vorhanden oder falsch ist, _
dann den Vorgang abbrechen
If MsgBox("Diese Vorgangsnummer ist nicht vorhanden", vbOKOnly, "Achtung") = _
vbOK Then
Exit Sub
End If
End If
If Not c Is Nothing Then
firstAddress = c.Address
Range(c.Address).Select 'Die Zeile in der der zu suchende Wert ist _
markieren
Do
Union(Selection, Range(c.Address)).Select 'alle Zeilen in denen der zu _
suchende Wert vorkommt markieren
If IsEmpty(c.Offset(0, -3)) Then 'Wenn Spalte "T" (Verkaufspreis" _
) leer ist, dann den Vorgang abbrechen
If MsgBox("Es ist noch kein Verkaufspreis eingegeben", vbOKOnly, "Achtung") _
= vbOK Then
Exit Sub
End If
End If
'Finde den nächsten passenden Eintrag
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address firstAddress
End If
Wird nämlich irgendein Wert eingegeben, dann werden die Werte aus der Zeile ausgegeben, bei der eine Zelle markiert ist.
Warum? Ich verstehs nicht.
Könnte mir das bitte jemand erklären?