Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
876to880
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
876to880
876to880
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Wert aus Textbox mit Tabelle vergleichen/ ausgeben

Wert aus Textbox mit Tabelle vergleichen/ ausgeben
15.06.2007 16:28:23
Herzele
Ich möchte mittels einer Userform, die einen Commandbutton, eine Textbox und mehrere Labels enthält folgendes erreichen. Es soll eine 6 stellige Zahl in die Textbox eingegeben werden, danach auf den commandbutton gedrückt werden. Nun soll in einem Excel Tabellenblatt, in dem bereits mehrere Datensätze angelegt sind nach dieser 6stelligen Nummer (steht in Spalte A) gesucht werden. Wird die Nummer gefunde, so sollen in ca. 5 Label-Feldern die dazugehörigen Werte aus den Spalten B-F angezeigt werden. Wäre super wenn mir jemand bei diesem Problem helfen könnte.
Bisher habe ich durch die Hilfe hier bei herber.de folgendes erreicht: Bei klicken auf den commandbutton wird der wert in Spalte A gesucht, sobald ein Wert gefunden ist, wird aber wieder derselbe Wert ausgegeben und nicht die restlichen Spalten.

Private Sub cmdSuchen_Click()
Dim rngFind As Range, rngFirst As Range
lstfind.Clear
Set rngFind = ActiveSheet.Cells.Find( _
what:=txtsuchen.Text, _
lookat:=xlPart, _
LookIn:=xlValues)
If rngFind Is Nothing Then
Beep
MsgBox "Kein Suchbegriff gefunden!"
Exit Sub
End If
Set rngFirst = rngFind
Do
lstfind.AddItem rngFind
Set rngFind = ActiveSheet.Cells.FindNext(rngFind)
Loop While Not rngFind Is Nothing And _
rngFind.Address  rngFirst.Address
End Sub


6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wert aus Textbox mit Tabelle vergleichen/ ausgeben
15.06.2007 18:46:12
Tino
Hallo,
versuch es mal mit einer weiteren schleife.

Private Sub cmdSuchen_Click()
Dim rngFind As Range, rngFirst As Range
Dim a As Byte
lstfind.Clear
Set rngFind = ActiveSheet.Cells.Find( _
what:=txtsuchen.Text, _
lookat:=xlPart, _
LookIn:=xlValues)
If rngFind Is Nothing Then
Beep
MsgBox "Kein Suchbegriff gefunden!"
Exit Sub
End If
Set rngFirst = rngFind
Do
For a = 2 To 6
lstfind.AddItem rngFind.Offset(0, a)
Next a
Set rngFind = ActiveSheet.Cells.FindNext(rngFind)
Loop While Not rngFind Is Nothing And _
rngFind.Address  rngFirst.Address
End Sub


Gruss
Tino

Anzeige
AW: Wert aus Textbox mit Tabelle vergleichen/ ausg
15.06.2007 20:00:00
Herzele
Hallo Tino,
das sieht schonmal sehr vielversprechend aus. Das einzige Problem dabei ts, es werden nur die Werte in Spalte C und D der betreffenden Zeile ausgegeben, obwohl weitere in Spalte B, E und F stehen.
Sehe ich das richtig, das Problem hier in der Range liegt?
For a = 2 To 6
lstfind.AddItem rngFind.Offset(0, a)
Next a
Set rngFind = ActiveSheet.Cells.FindNext(rngFind)
Loop While Not rngFind Is Nothing And _
rngFind.Address rngFirst.Address

AW: Wert aus Textbox mit Tabelle vergleichen/ ausgeben
15.06.2007 20:05:28
Tino
Hallo,
für die 5 Label felder müsste dies so aussehen.
For a = 1 To 5
UserForm1("Label" & a).Caption = rngFind.Offset(0, a)
Next a
Gruss
Tino

Anzeige
AW: Wert aus Textbox mit Tabelle vergleichen/ ausg
16.06.2007 12:54:56
Herzele
Mein Programm sieht inzwischen so aus:
Ein klitzekleines Problemchen hab ich dabei noch: Sobald die Nummer (nach denen gesucht werden soll) mehrstellig sind, wird das Ergebnis auch angezeigt, wenn ich z.B. nur nach der 3ten Stelle suche. Naja, ich will quasi das nur eine exakte Übereinstimmung, sprich alle Stelle sollten übereinstimmen angezeigt wird.

Private Sub cmdSuchen_Click()
Dim rngFind As Range, rngFirst As Range
Dim a As Byte
Set rngFind = ActiveSheet.Range("a1:a10").Find( _
what:=txtsuchen.Text, _
lookat:=xlPart, _
LookIn:=xlValues)
If rngFind Is Nothing Then
Beep
MsgBox "Kein Suchbegriff gefunden!"
Exit Sub
End If
Set rngFirst = rngFind
Do
For a = 1 To 9
UserForm2("Label" & a).Caption = rngFind.Offset(0, a)
Next a
Set rngFind = ActiveSheet.Range("a1:a10").FindNext(rngFind)
Loop While Not rngFind Is Nothing And _
rngFind.Address  rngFirst.Address
End Sub


Anzeige
lookat:=xlWhole
16.06.2007 22:24:30
Jan
jan

AW: lookat:=xlWhole
17.06.2007 14:26:46
Herzele
Super, schönen Dank an Jan und Tino...

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige