Suchergebnis entspricht -teilweise- nicht dem Such
24.09.2006 00:20:00
reiner
In eine InputBox werden Geldbeträge mit einem Komma als Trennzeichen eingegeben nach denen mit nachfolgendem Programmcodeauszug in der zugehörigen Tabelle gesucht wird.
Die gefundenen Einträge werden anschließend in einer ListBox angezeigt:
1. Suchbegriff = InputBox("Suchbegriff: B E T R A G", "Suchen")
2. Suchbegriff = Format(Suchbegriff)
3. Suchbegriff = Replace(Suchbegriff, ",", ".")
4. Set rng = Range("F2:F" & Cells(Rows.Count, 1).End(xlUp).Row)
5. Set rngF = rng.Find(Suchbegriff, After:=rng.Cells(rng.Count, 1))
Lautet der Suchbegriff z.B. auf 3,91 wird der zugehörige Eintrag korrekt in der LB aufgeführt.
Lautet der Suchbegriff jedoch z.B. auf 3,90 wird die 0 als Suchkriterium ignoriert sodass als Treffer sowohl 3,90 als auch 93,99 in der LB aufgeführt werden. Das gleiche Ergebnis wird erzielt wenn der Suchbegriff auf 3,9 lautet.
Ich habe festgestellt, dass in der Zeile 2 durch den Befehl Format die 0 in der Dezimalstelle entfernt wird. Wird der Code in Zeile 2 übersprungen, kann die Suche aber nicht ausgeführt werden; scheinbar wird keine Übereinstimmung mit den Werten in Spalte F gefunden obwohl der Wert 3,90 in der Tabelle enthalten ist.
Die Werte in Spalte F sind reine Zahlenwerte, das zugehörige Währungssymbol wurde durch entsprechende Zellformatierung hinzugefügt.
Wie kann erreicht werden, dass bei Eingabe des Suchbegriffs 3,90 auch tatsächlich der zugehörige Eintrag in der LB erscheint; d.h. die Ziffer 0 in der Dezimalstelle des Suchbegriffs darf nicht ignoriert werden? Gibt es hierfür eine Lösung?
mfg
reiner