Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Suchfunktion über Textboxen

Forumthread: Suchfunktion über Textboxen

Suchfunktion über Textboxen
13.08.2019 16:35:15
Tim
Hallo zusammen,
ich habe hier eine Vorlage einer Userform, in der die entweder über Textbox1 (Spalte A), Textbox2 (Spalte B) oder Textbox4 (Spalte D) in unterschiedlichen Spalten nach einem Wert gesucht wird.
Bisher wurden nur nach Zahlenwerten gesucht, jetzt könnten auch Buchstaben als Folge vorkommen.
Ich habe das versucht mit Application Match zu suchen,
varTMP = Application.Match(TextBox4.Text).Range("D:D") führt nicht zu Erfolg.
Wird eine Textbox ( 1, 2 oder 4) ausgefüllt, so sollen nach Eingabe in die entsprechende Textboxen die die anderen Elemente aus der Tabelle ausgelesen. Es sollte ohne Suchbutton funktionieren.
Fehlermeldung 13 und 1004 wird angezeigt.
Application Match wurde mir von einem Kollegen empfohlen, aber ich fürchte er hat mich da auf den Holzweg geschickt.
Wie könnte ich das besser lösen?
https://www.herber.de/bbs/user/131412.xlsm
Danke
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchfunktion über Textboxen
13.08.2019 17:12:39
Daniel
HI
naja, du musst die Funktion auch richtig parametrisieren:
varTMP = Application.Match(TextBox4.Text, .Range("D:D"), 0)
die Funktion liefert dir dann die Positionsnummer innerhalb der durchsuchten Spalte.
ich würde hier aber mit .FIND arbeiten:
Set Zelle = Range("D:D").Find(what:=Textbox4.Text, lookat:=xlwhole, lookin:=xlvalues)
die Fundstelle hast du dann als Range-Objekt.
die Prüfung, ob die Suche erfolgreich war, würde ich so machen:
If Not Zelle Is Nothing then
Application.Match würde ich nur einsezten wenn
a) die Werte in der durchsuchten Spalte aufsteigend sortiert sind, weil man mit Application.Match dann die wesentlich schnellere "binäre Suche" einsetzen kann (das können in VBA und Excel nur Vergleich/Match und SVerweis/VLookUP)
b) nach Datumswerten oder Dezimalzahlen gesucht werden muss, weil mit Application.Match die Suche Format-Unabhängig nach dem tatsächlichen Wert erfolgt, während .FIND auch de Zellformatierung berücksitigt und das ganze im amerikanischen Format angegeben werden muss, was die Suche mit .FIND dann tricky macht.
bei suche nach Texten ist .FIND aber die bessere Methode.
Gruß Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige