Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1900to1904
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 anhand einer ID Füllen

Listbox anhand einer ID Füllen
17.10.2022 09:46:45
Nicole
Hallo liebe Excelprofis,
ich habe folgende Ausgangssituation. Ich habe eine Tabelle "Stammdaten" und eine Tabelle "Item". Beide Tabellen haben eine gemeinsame ID (Reklamtionsnr.) und mehrere Spalte, diese allerdings unterschiedlich.
Bei den Stammdaten kommt die ID-Nr. nur einmal vor. Bei der Tabelle Item kann die ID öfter vorkommen.
In den Stammdaten stehen die allgemeinen Firmendaten (ID; Name, Bearbeiter, usw.) In der Tabelle Item werden die zu reklamierenden Teile aufgenommen (ID; Los, Breite, Länge usw.)
Ich habe eine Userform (UF_StammItem) erstellt, in dem die Stammdaten angezeigt werden. Jetzt möchte ich, das auch verschiedene Werte aus der Tabelle "Item" in einer Listbox (Listbox2) zu den zugehörigen Stammdaten angezeigt werden.
Die beigefügte Datei ist nur ein Entwurf und noch lange nicht fertig. Die verwendeten Markos habe ich mir im Netz zusammengesucht, da ich leider noch nicht in der Lage bin, eigene zu schreiben :-(
https://www.herber.de/bbs/user/155704.xlsm
Kann mir jemand helfen, die Listbox entsprechend zu füllen?
Vielen Dank im Voraus für eure Hilfe

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

Betreff
Datum
Anwender
Anzeige
AW: Listbox anhand einer ID Füllen
17.10.2022 10:17:38
MCO
Hallo Nicole!
Da hast du noch ein feines Stück Arbeit vor dir...
Füge in der UF_StammItem dem folgende Code ein.
Dieser hier füllt die erste Listbox mit allen vorhandenen Aufträgen

Private Sub UserForm_Initialize()
Dim cl As Range
With ListBox1
For Each cl In Sheets("Stammdaten").Range("A2:A999").SpecialCells(xlCellTypeConstants)
.AddItem cl
Next cl
End With
End Sub
Bei Auswahl eines Auftrages wird die Listbox2 mit allen verfügbaren Positionen gefüllt

Private Sub ListBox1_Click()
Dim cl As Range
With ListBox2
.Clear
For Each cl In Sheets("Items").Range("A2:A999").SpecialCells(xlCellTypeConstants)
If CStr(cl) = ListBox1.Value Then .AddItem cl.Offset(0, 1)
Next cl
End With
End Sub
Viel Erfolg noch!
Gruß, MCO
Anzeige
AW: Listbox anhand einer ID Füllen
17.10.2022 11:36:14
Nicole
Hallo MCO,
klappt leider doch noch nicht so ganz, er zeigt mir nur eine Spalte in Listbox 2 an. Habe ColumnCount auf 8 gesetzt. Muss ich sonst noch was ändern?
Huch, da hätt ich ja auch mal aufpassen können
17.10.2022 12:38:50
MCO
Sorry, hab ich einfach ignoriert.
Bitte den Code einbauen:

Private Sub ListBox1_Click()
Dim cl As Range
Dim x As Long, j As Long
With ListBox2
.Clear
For Each cl In Sheets("Items").Range("A2:A999").SpecialCells(xlCellTypeConstants)
If CStr(cl) = ListBox1.Value Then
.AddItem
x = .ListCount
For j = 0 To 9 ' spaltenzahl musst du anpassen!
.List(x - 1, j) = Sheets("Items").Cells(cl.Row, j + 1)
Next j
End If
Next cl
End With
End Sub
Gruß, MCO
Anzeige
AW: Listbox anhand einer ID Füllen
17.10.2022 18:47:32
Nicole
Hallo, der Code von MCO funktioniert super, solange ich nicht mehr als 10 Spalten haben. Allerdings hat sich jetzt ergeben, dass ich noch Listboxen füllen muss, mit mehr als 10 Spalten, die Spalten sind auch nicht unbedingt nebeneinander. Kann mir jemand sagen wie ich den Code anpassen muss, bzw. ihn für mich ändern?
Vielen lieben Dank.
AW: Listbox anhand einer ID Füllen
18.10.2022 07:00:40
MCO
Guten Morgen!
Ich vermute, den Satz " spaltenzahl musst du anpassen!" in meinem Code hast du gelesen?
Wenn du das angepasst hast und der Code bei den weiteren benötigten Spalten auf Fehler läuft, dann muss du deiner Listbox mehr Spalten verordnen, das geht in den Eigenschaften.
Gruß, MCO
Anzeige
AW: Listbox anhand einer ID Füllen
18.10.2022 11:30:21
Nicole
Hallo, ich habe die Spaltenzahl angepasst und auch die Spalten in den Eigenschaften geändert. Aber trotzdem bekomme ich den Fehlercode 380.
Habe woanders gelesen dass es bei der AddItem Methode nur 10 Spalten eingelesen werden können?
Ich kriege den Code leider nicht angepasst. Kannst du oder jemand anderes bitte nochmal helfen?
VG
mehr als 10 spalten
18.10.2022 12:02:16
MCO
Hallo Nicole!
Der Beitrag hier im Forum
https://www.herber.de/forum/archiv/1368to1372/1371609_Listbox_mit_mehr_als_10_Spalten.html
wird dich zum Ziel bringen, ist aber schon für Fortgeschrittene. Demnach muss die ganze Methode geändert werden: von "Zeilenweise einlesen und Feldweise zu Spalten zuordnen" in "Tabellenbereich in Array lesen und Array in Spalten schreiben."
Vielleicht kannst du ja in einem neuen Beitrag den aktuellen Stand nochmal hochladen, gern mit Verweis auf diesen Thread.
Ich bin sicher, dass bei neuem Betreff viele Beiträge zeitnah kommen. Das kann ich leider nicht immer gewährleisten.
Viel Erfolg!
Gruß, MCO
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige