Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1716to1720
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

Listboxen mit daten aus anderem Tabellenblatt füllen und eintragen.

Listboxen mit daten aus anderem Tabellenblatt füllen und eintragen.
22.10.2019 12:26:42
Flip
Hallo zusammen
Ich möchte Werte aus zwei voneinander abhängigen Listboxen mittels Doppelklick und cmd Button in ein Tabellenblatt eintragen. Die Listboxen sollen sich anhand von Spalten aus einem anderen Tabellenblatt füllen. Eingetragen werden immer nur die Werte aus der 2 Listbox.
Ich habe mir die Beispieldateien: https://www.herber.de/mailing/Zweite_ListBox_in_Abhaengigkeit_der_ersten_fuellen.htm
https://www.herber.de/mailing/Wert_aus_UserForm-ListBox_in_Tabellenblatt_eintragen.htm
als Grundlage genommen.
Allerdings komme ich einfach nicht mit der Zusammenführung klar.
In der Beispieldatei öffnet sich das Dialogfeld im selben Tabellenblatt. Ich möchte allerdings aus einem anderen Tabellenblatt auf diese Tabellenblatt zugreifen (Tabelle1)
Den Verweis auf die erste Listbox bekomme ich beim initialisieren noch hin. Die zweite bleibt allerdings immer leer. Der Umbau der Userform ist auch nicht das Problem. Ich möchte allerdings wenn möglich durch Doppelklick des gewählten Wertes in der Listbox das dieser in die erste freie Zeile beginnend bei B17 im Tabellenblatt eingetragen wird. Wenn es mit Doppelklick nicht möglich ist dann natürlich mit dem Button cmdEintragen
Vielen Dank schonmal im Voraus!!

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

Betreff
Datum
Anwender
Anzeige
AW: Listboxen mit daten aus anderem Tabellenblatt
22.10.2019 13:32:51
Flip
Hab das mit dem eintragen hinbekommen.
Allerdings schaffe ich es nicht das sich die zweite Listbox im anderen Tabellenblatt füllt. Wenn ich die Userform in dem Tabellenblatt öffne wo ich die Werte stehen haben funktioniert alles.
Hier der Code:
Option Explicit
Private Sub cmdAbbrechen_Click()
Unload Me
End Sub
Private Sub cmdEintragen_Click()
Dim iRow As Integer
If IsEmpty(Cells(1, 1)) Then
iRow = 1
Else
iRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
End If
Cells(iRow, 1) = lstB.Value
End Sub
Private Sub lstA_Click()
Dim iRow As Integer
iRow = 2
lstB.Clear
Do Until IsEmpty(Cells(iRow, 1))
lstB.AddItem Cells(iRow, lstA.ListIndex + 1)
iRow = iRow + 1
Loop
End Sub
Private Sub UserForm_Initialize()
lstA.Column = Sheets("Tabelle1").Range("A1").CurrentRegion.Rows(1).Value
End Sub

Anzeige
AW: Listboxen mit daten aus anderem Tabellenblatt
22.10.2019 14:05:32
Flip
Ok ein weiteres Problem welches ich gerade bemerkt habe ist:
Wenn in der Spalte A z.B 4 Werte eingetragen sind und in Spalte B z.B 7 werden in die Listbox trotzdem nur 4 Werte angezeigt.
Spalten können ja unzählige sein. in der ersten Zeile sollen immer nur die Überschriften (Kategorien) stehen und darunter eben die zugehörigen Artikel. mir sollen dann in der 2 Listbox immer nur die jeweiligen Artikel der angewählten Kategorie angezeigt werden. In dem Blatt "Tabelle2" funktioniert das ganz nicht, was eig das Ziel sein sollte. Ich häng mal eine Beispieldatei dazu.
https://www.herber.de/bbs/user/132655.xls
Anzeige
AW: Listboxen mit daten aus anderem Tabellenblatt
22.10.2019 16:23:14
Flip
Konnte das Problem jetzt über andere Wege doch selbst lösen. Hab auch noch eine weitere ListBox hinzugefügt. Vl gibt es eine bessere Lösung aber soweit funktioniert es mal.
Private Sub cmdAbbrechen_Click()
Unload Me
End Sub
Private Sub cmdEintragen_Click()
Dim iRow As Integer
If IsEmpty(Cells(1, 1)) Then
iRow = 1
Else
iRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
End If
Cells(iRow, 1) = ListBox2.Value
End Sub
Private Sub ListBox2_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim iRow As Integer
If IsEmpty(Cells(1, 1)) Then
iRow = 1
Else
iRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
End If
Cells(iRow, 1) = ListBox2.Value
End Sub
Private Sub ListBox1_Click()
ListBox2.Clear
ListBox3.Clear
For i = 10 To Sheets(1).Cells(Cells.Rows.Count, ListBox1.ListIndex + 1).End(xlUp).Row
ListBox2.AddItem Sheets(1).Cells(i, ListBox1.ListIndex + 1)
Next
End Sub
Private Sub ListBox2_Click()
ListBox3.Clear
For i = 3 To 9
ListBox3.AddItem Sheets(1).Cells(i, ListBox1.ListIndex + 1)
Next
End Sub
Private Sub UserForm_Initialize()
For i = 1 To Sheets(1).Cells(1, Cells.Columns.Count).End(xlToLeft).Column
ListBox1.AddItem Sheets(1).Cells(1, i)
Next
End Sub

Anzeige

321 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige