Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1724to1728
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
Inhaltsverzeichnis

Listbox Wert in Tabelle suchen und Eintrag in Listbox zurück geben

Listbox Wert in Tabelle suchen und Eintrag in Listbox zurück geben
30.11.2019 21:16:09
Andre
Hallo zusammen,
ich braucht bitte die Hilfe von Euch Profis!
Ich habe mir mit Hilfe dieses Forums und vielen Code-Beispielen eine Lagerverwaltung erstellt.
Hier wird in eine Userform eine Palettennummer eingegeben und aus dem Blatt "WE" die dazugehörigen Daten in eine Listbox ausgegeben.
Jetzt hätte ich gerne, dass in der 7. Spalte der Listbox, nach dem Vergleich des Werts der Spalte 2 der Listbox), der entsprechende Wert aus Spalte B des Blatts "Pal-Faktor" ausgegeben wird.
Geht das?
Die Datei mit dem Prozess ist hier: https://www.herber.de/bbs/user/133511.xlsm
Meine Kenntnisse sind recht bescheiden, daher würde ich mich freuen, wenn jemand den Code im Bereich TextBox_Scan korrekt ergänzen würde.
Vielen Dank
Andre

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listbox Wert in Tabelle suchen und Eintrag in Listbox zurück geben
01.12.2019 05:50:39
Werner
Hallo Andre,
so:
Private Sub TextBox_Scan_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim c As Range, rngBereich As Range, lngAnzahl As Long
Dim strFirst As String, i As Long
With Sheets("WE")
Set rngBereich = .Columns("L:L")
Set c = rngBereich.Find(TextBox_Scan, LookIn:=xlValues, lookat:=xlPart)
If Not c Is Nothing Then
If Not c = "" Then
Me.ListBox1.Clear
strFirst = c.Address
Do
ListBox1.AddItem .Cells(c.Row, 12)
lngAnzahl = ListBox1.ListCount
ListBox1.List(lngAnzahl - 1, 1) = .Cells(c.Row, 2)
ListBox1.List(lngAnzahl - 1, 2) = .Cells(c.Row, 10)
ListBox1.List(lngAnzahl - 1, 3) = .Cells(c.Row, 3)
ListBox1.List(lngAnzahl - 1, 4) = .Cells(c.Row, 4)
ListBox1.List(lngAnzahl - 1, 5) = .Cells(c.Row, 13)
Set c = rngBereich.FindNext(c)
Loop While Not c Is Nothing And c.Address  strFirst
End If
Else
MsgBox "Palette nicht gefunden!", 48
End If
End With
With ListBox1
For i = 0 To .ListCount - 1
Set rngBereich = Sheets("Pal-Faktor").Columns("A:A").Find(.List(i, 1), _
LookIn:=xlValues, lookat:=xlWhole)
If Not rngBereich Is Nothing Then
.List(i, 6) = rngBereich.Offset(, 1)
End If
Next i
End With
Me.TextBox_Scan = ""
If Raus = 0 Then
Cancel = True
Raus = 1
End If
Set c = Nothing: Set rngBereich = Nothing
End Sub
Gruß Werner
Anzeige
AW: Listbox Wert in Tabelle suchen und Eintrag in Listbox zurück geben
01.12.2019 11:13:37
Andre
Hallo Werner,
vielen Dank!! Es läuft! (aber das weißt Du ja bestimmt ;-) )
Ich hätte noch eine Frage.
Wenn ich die Daten später aus der Listbox in das Tabellenblatt kopiere, formatiert Excel den Wert des Pal-Faktor als Text. Die Ergänzung " * 1 " hinter der Zeile im Code (Tabelle3.Cells(last, 8) = ListBox1.List(i, 6) * 1) erwirkt, dass es als Zahl formatiert ist. Allerdings kopiert Excel nur dann, wenn in dem Feld auch ein Wert ist. Ansonsten kommt der Fehler "Typen unverträglich".
Gibt es eine Möglichkeit diesen Fehler zu umgehen, wenn kein Wert in der Listbox steht?
Gruß
Andre
Anzeige
AW: Listbox Wert in Tabelle suchen und Eintrag in Listbox zurück geben
01.12.2019 11:20:21
Werner
Hallo Andre,
so:
If IsNumeric(ListBox1.List(i, 6)) Then
Tabelle3.Cells(last, 8) = CDbl(ListBox1.List(i, 6))
End If
Gruß Werner
AW: Listbox Wert in Tabelle suchen und Eintrag in Listbox zurück geben
01.12.2019 11:55:39
Andre
Es kommt eine Fehlermeldung "Eigenschaft List konnte nicht abgerufen werden. Index des Eigenschaftsfeld ungültig."
Habe den Code vor und nach dem "Kopier-Code" eingefügt. Oder wo muss er hin?
AW: Listbox Wert in Tabelle suchen und Eintrag in Listbox zurück geben
01.12.2019 12:10:18
Werner
Hallo Andre,
na hier:
For i = 0 To ListBox1.ListCount - 1
Tabelle3.Cells(last, 1) = ListBox1.List(i, 0)
Tabelle3.Cells(last, 2) = ListBox1.List(i, 1)
Tabelle3.Cells(last, 3) = ListBox1.List(i, 2)
Tabelle3.Cells(last, 4) = ListBox1.List(i, 3)
Tabelle3.Cells(last, 5) = ListBox1.List(i, 4)
Tabelle3.Cells(last, 6) = TextBox_Datum
Tabelle3.Cells(last, 7) = ListBox1.List(i, 5)
If IsNumeric(ListBox1.List(i, 6)) Then
Tabelle3.Cells(last, 8) = CDbl(ListBox1.List(i, 6))
End If
last = last + 1
Next
Gruß Werner
Anzeige
AW: Listbox Wert in Tabelle suchen und Eintrag in Listbox zurück geben
01.12.2019 12:19:17
Andre
perfekt. Danke nochmals!
Gerne u. Danke für die Rückmeldung. o.w.T.
01.12.2019 13:34:37
Werner

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige