ich habe mehrere Tabellenblätter.
Über eine Userbox wähle ich eine Nummer aus.
Nun wird die Nummer auf einem Tabellenblatt zwischengespeichert und eine neue Userbox geht auf.
Wenn ich eine feste Tabelle in nur einem Tabellenblatt habe kann ich die Daten wie folgt einlesen:
Private Sub UserForm_Initialize()
Dim lR%
lR = Worksheets("Daten").Cells(Rows.Count, 1).End(xlUp).Row
ListBox1.RowSource = "Daten!a2:b" & lR
ListBox1.ListIndex = 0
End Sub
Alldings wird bei der obigen Version immer das gleiche Tabellenblatt (hier Daten) eingelesen. Diese Sache funzt auch.
Ich brauche aber die Daten aus verschiedenen Tabellenblättern. Ich habe eine Userbox in welcher ich nun eine Nummer auswählen kann. Diese wird nun auf einem Tabellenblatt zwischengespeichert. Nun sollen mit der zwischgespeicherten Nummer (dient als Variable) eines der Tabellenblätter ausgewählt werden.Das wollte ich folgendermaßen lösen was aber nicht funzt:
Private Sub UserForm_Initialize()
Dim lR%
Dim Straße
Straße = Worksheets("Straßen").Range("b1")
lR = Worksheets(Straße).Cells(Rows.Count, 1).End(xlUp).Row
ListBox1.RowSource = Straße.Range("a2:b") & lR
ListBox1.ListIndex = 0
End Sub
Die Variable Straße enthält die Nummer des auszuwählenden Tabellenblattes.
Allerdings funzt das nicht richtig. Ich denke es liegt wohl daran das ich die Variable in der Zeile ListBox1.Row..... nicht richtig einsetze.
Zur Info auch noch folgender Code mit welchem die ausgewählten Daten dann in ein Formulartabellenblatt eingetragen werden:
Private Sub cmdOK_Click()
'Daten übernehmen und in Tabelle eintragen
Dim b%
For b = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(b) = True Then
Range("g7") = ListBox1.List(b, 0)
End If
Next b
Unload Me
End Sub
Die Userbox wird von einem Tabellenblatt gestartet in welches auch die ausgewählten Daten eingetragen werden, was auch funzt.
Wer kann mir hier helfen?