Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1604to1608
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

Zweite ListBox nach Auswahl in erster füllen

Zweite ListBox nach Auswahl in erster füllen
25.01.2018 06:05:28
Floeh
Guten Morgen,
ich habe eine Frage zu "Zweite ListBox nach Auswahl in erster füllen" https://www.herber.de/xldialoge/uf_lst36.html
Ich möchte eine Combobox darüber einbauen, welche mir durch Anwahl einer bestimmten Abteilung die Werte aus Tabelle 1 in die Listbox1 ausgibt, folgend von der nächsten Abteilung aus Tabelle 2 usw.
Ich würde die Combobox mit den entsprechenden Abteilungen füllen über .AddItem "Abteilung1" (wenn Ausgewält dann Werte aus Tabelle 1 in ListBox1)
.AddItem "Abteilung2" (wenn ausgewält dann Werte aus Tabelle 2 in Listbox1) ...
Ich wäre für jede Hilfe dankbar.
VG
Floeh

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

Betreff
Datum
Anwender
Anzeige
AW: Daten als xlsx
25.01.2018 09:21:41
mayBe,
lade bitte eine xlsx (NICHT: xlsm) Datei mit den Listen hoch
AW: Zweite ListBox nach Auswahl in erster füllen
25.01.2018 10:32:22
fcs
Hallo Floeh,
Benenne deine Tabellenblätter (Tabelle1, Tabelle2, etc) entsprechend den Namen der Abteilungen um (Abt A, Abt B etc).
Dann kann man die Namen der Abteilungen automatisch in die Combobox des Userforms laden.

'Listbox per AddItem mit Auswahldaten füllen
Private Sub ComboBox1_Change()
Dim iRow As Integer
Dim wks As Worksheet
If ComboBox1.ListIndex = -1 Then Exit Sub
'Combobox1 enthält als Liste die Nahmen der Tabellenblätter mit _
Daten die in die Listbox übernommen werden sollen
iRow = 2
ListBox1.Clear
'Blatt mit Daten entsprechend Auswahl in Combobox setzen
Set wks = ActiveWorkbook.Worksheets(ComboBox1.Value)
'Daten aus Spalte A  (1) in Listbox anzeigen
Do Until IsEmpty(wks.Cells(iRow, 1))
ListBox1.AddItem wks.Cells(iRow, 1)
iRow = iRow + 1
Loop
End Sub
Private Sub UserForm_Initialize()
Dim wks As Worksheet
'Combobox mit Abteilungs-/Blattnamen füllen
For Each wks In ActiveWorkbook.Worksheets
Select Case wks.Name
Case "Tabelle XYZ", "Tab ABC"
'Diese Tabellen nicht in Combobox anzeigen
Case Else
With Me.ComboBox1
.AddItem wks.Name
End With
End Select
Next
End Sub
Wenn auf den Tabelenblättern der Name der Abteilung immer in einer bestimmten Zelle steht, dann kann man es auch wie folgt lösen.
Wenn alle Daten eines Zellbereichs in einer Listbox angezeigt werden sollen, dann kann man die Listbox auch anders füllen.
'    ALTERNATIVE
'Listbox vie Eigenschaft "List" mit Daten aus Zellbereich füllen
Private Sub ComboBox1_Change()
Dim iRow As Integer
Dim wks As Worksheet
If ComboBox1.ListIndex = -1 Then Exit Sub
'Combobox1 enthält als Liste die Nahmen der Tabellenblätter mit _
Daten die in die Listbox übernommen werden sollen
ListBox1.Clear
With ComboBox1
Set wks = ActiveWorkbook.Worksheets(.List(.ListIndex, 1))
End With
With wks
'letzte Zeile mit Inhalt in Spalte A
iRow = .Cells(.Rows.Count, 1).End(xlUp).Row
'Daten aus Zellbereich A2:Axxx in Listbox übernehmen
ListBox1.List = .Range(.Cells(2, 1), .Cells(iRow, 1)).Value2
End With
End Sub
Private Sub UserForm_Initialize()
'Name der Abteilungen wird aus bestimmter Zelle in den Blättern ausgelesen
Dim wks As Worksheet
With Me.ComboBox1
.ColumnCount = 2
.ColumnWidths = "100 Pt;0Pt"
End With
For Each wks In ActiveWorkbook.Worksheets
Select Case wks.Name
Case "Tabelle XYZ", "Tab ABC"
'Diese Tabellen nicht in Combobox anzeigen
Case Else
With Me.ComboBox1
.AddItem wks.Range("A1").Text 'A1 = Zelle mit dem Namen der Abteilung
.List(.ListCount - 1, 1) = wks.Name
End With
End Select
Next
End Sub
Gruß
Franz
Anzeige
AW: Zweite ListBox nach Auswahl in erster füllen
27.01.2018 19:33:13
Floeh
Hallo Franz,
vielen lieben Dank, die erste Variante hilft mir weiter.
Klasse :)
VG
Floeh

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige