Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
804to808
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
804to808
804to808
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Suchergebnis entspricht -teilweise- nicht dem Such

Suchergebnis entspricht -teilweise- nicht dem Such
24.09.2006 00:20:00
reiner
Hallo Leute,
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

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchergebnis entspricht -teilweise- nicht dem
24.09.2006 01:28:14
Josef
Hallo Reiner!
Da brauchst du nicht lange rumformatieren, ausserdem gibt's bei .Find den Parameter "LookAt".
Nich notwendig ist auch das Einschränken des Suchbereiches, weil .Find extrem schnell ist.
Dim rngF As Range
Dim suchbegriff As Variant

suchbegriff = Application.InputBox("Suchbegriff: B E T R A G", "Suchen", Type:=1)

If IsNumeric(suchbegriff) Then suchbegriff = CDbl(suchbegriff)

Set rngF = Range("F:F").Find(What:=suchbegriff, LookAt:=xlWhole, After:=Range("F" & Rows.Count))

Gruß Sepp

Anzeige
AW: Suchergebnis entspricht -teilweise- nicht dem
24.09.2006 12:43:53
reiner
Hallo Sepp,
danke für den Vorschlag
mfg
reiner
AW: @Josef Ehrensberger
24.09.2006 20:38:18
Peter
Hallo Sepp,
wie findet dein Makro Beträge mit Nachkommastellen, die auf Null hinauslaufen - z. B. 25,00 oder 12,50? 123,45 wird gefunden, die Nullen scheinen jedoch zu Problemen zu führen.
Viele Grüße Peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige