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

Textboxinhalt mit Tabellenspalte vergleichen

Forumthread: Textboxinhalt mit Tabellenspalte vergleichen

Textboxinhalt mit Tabellenspalte vergleichen
13.02.2017 17:56:48
Marvin
Guten Tag zusammen,
noch immer kam ich zu keiner Lösung, trotz einiger Lösungsvorschläge:
Kurze Einführung:
In Textbox1 (Formular-Steuerelement) wird ein Wert/Text eingescannt:
Bspw.: A111111
Nun soll, sobald dieser Wert in Textbox1 eingescannt wurde ein Abgleich mit Tabelle2 Spalte A stattfinden, ob dieser Wert/Text eventuell schon vorhanden ist. (Automatisch)
Ist dies der Fall, dann soll eine MsgBox ausgelöst werden oder eine Userform.
Ist dies nicht der Fall, soll er lediglich den normalen Tab-Sprung ausführen, aber das ist vorerst nebensächlich.
Mit dem Change-Ereignis der Tb hatte ich bisher keinen Erfolg, da er die Makroausführung wieder startet, sobald die TextBox geleert wurde, da Change-Ereignis.
Hoffe ihr habt hilfreiche Lösungsvorschläge.
Mit besten Grüßen + Dank
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Textboxinhalt mit Tabellenspalte vergleichen
13.02.2017 18:09:23
onur
Hi,
Nimm eine Active-X-Textbox und starte über Textbox_Change.
Fruß
Onur
AW: Textboxinhalt mit Tabellenspalte vergleichen
13.02.2017 18:21:42
Tino
Hallo,
evtl geht es so?!
Microsoft Excel Objekt Tabelle1
Option Explicit 
Dim booLauf As Boolean

Private Sub TextBox1_Change()
Dim rng As Range
'nur prüfen wenn Textlänge >=7
'nur prüfen wenn booLauf = False
If (Len(TextBox1.Value) < 7) Or booLauf Then Exit Sub

Set rng = Tabelle2.UsedRange.EntireRow.Columns(1)

If IsNumeric(Application.Match(TextBox1.Value, rng, 0)) Then
booLauf = True
MsgBox "'" & TextBox1.Value & "' in Tabelle2 bereits vorhanden!", vbExclamation
TextBox1.Value = ""
booLauf = False
End If
End Sub
Gruß Tino
Anzeige
AW: Textboxinhalt mit Tabellenspalte vergleichen
13.02.2017 19:08:17
Tino
Hallo,
booLauf kann man einsparen, es reicht die Prüfung auf die Länge.
If (Len(TextBox1.Value) 
und diese Zeilen löschen.
Dim booLauf As Boolean
Gruß Tino

Forumthreads zu verwandten Themen

Anzeige