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

Forumthread: TextBox Wert in Zellen suchen

TextBox Wert in Zellen suchen
urmila
Hallo zusammen,
ich habe zwar eine Lösung dafür aber es klappt nicht immer, hier die Beschilderung:
Ich habe ein USerform, da ist eine TextBox1 und einige Labels. Nun will ich wenn ich in der Textbox was eingebe, mir die Daten aus dem Tabellenblatt ausliest und die dazugehörige Daten in den Labels füllt, sowas wie die SVerweis Funktion. In der Tabelle stehen diverse Daten wie Zahlen, Text, Zahl mit Kommastelle.
Wenn ich eine Zahl eingebe, geht es, aber nicht bei Wörtern oder Kommazahlen.
Hier ist die Datei, vll lässt sich das besser darstellen: https://www.herber.de/bbs/user/71059.xls
Was ich will, ist dass die Fehlermeldung mit "nicht gefunden..." erst dann kommt, wenn wirklich nicht was gefunden wurde und es soll alles suchen können, Zahlen/mit KOmma und Wörtern....
Es ist noch zu früh für mich, weiß nicht mal was hingeschrieben hab.....hoffe ihr versteht das :)
Danke und LG
Urmila
Anzeige

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

Betreff
Benutzer
Anzeige
AW: TextBox Wert in Zellen suchen
13.08.2010 08:49:26
{Boris}
Hi Urmila,
da Du das Change-Ereignis der Textbox nutzt, wird ja bei jedem Tastenanschlag die Suche ausgelöst. Demnach ist es schwierig zu beurteilen, wann ein Suchbegriff wirklich nicht vorhanden ist.
Nimm mal folgenden Code für die Suche:
Private Sub TextBox1_change()
Dim C As Range, strSearch As String
strSearch = Replace(Me.TextBox1, ",", ".") 'Dezimalzahlen ins englische Format umwandeln
Set C = Columns(1).Find(strSearch, lookat:=xlWhole)
If Not C Is Nothing Then
Me.l1 = C.Offset(0, 1)
Me.l2 = C.Offset(0, 2)
Me.l3 = C.Offset(0, 3)
End If
End Sub
Grüße Boris
Anzeige
Mit "Nix gefunden"-Hinweis
13.08.2010 08:56:22
{Boris}
Hi,
sind doch nur 2 Zeilen - ist noch zu früh ;-)
Private Sub TextBox1_change()
Dim C As Range, strSearch As String
strSearch = Replace(Me.TextBox1, ",", ".")
Set C = Columns(1).Find(strSearch, lookat:=xlWhole)
If Not C Is Nothing Then
Me.l1 = C.Offset(0, 1)
Me.l2 = C.Offset(0, 2)
Me.l3 = C.Offset(0, 3)
End If
Set C = Columns(1).Find(strSearch, lookat:=xlPart)
If C Is Nothing Then MsgBox "Nix da", vbOKOnly, "Gebe bekannt..."
End Sub

Grüße Boris
Anzeige
funkt wie gewünscht....vielen dank Boris
13.08.2010 09:09:54
urmila
LG
Urmila

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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