AW: Importieren
06.02.2023 18:45:01
Yal
Hallo Thomas,
"übernehmen" hilft nicht viel, wenn man nicht versteht, was da passiert. Und wenn zuviel auf einmal passiert, ist es schwieriger zu verstehen.
Fang zuerst mit folgenden Code für den UserForm (also Code in dem Codepane von Userform ablegen):
Private Sub cmbAbbrechen_Click()
Unload Me
End Sub
Private Sub cmbAuswahl_Click()
Dim i
Dim Msg As String
For i = 1 To lbxBlatt.ListCount
If lbxBlatt.Selected(i) Then
Msg = Msg & vbLf & lbxBlatt.List(i)
End If
Next
MsgBox "Es sind folgende Blätter ausgewählt worden:" & Msg
Unload Me
End Sub
Private Sub UserForm_Initialize()
Dim W As Worksheets
lbxBlatt.Clear
For Each W In ThisWorkbook.Worksheets
lbxBlatt.AddItem W.Name
Next
End Sub
Probiere es und schau was passiert.
Dann ersetzst Du den CmdAuswahl_Click mit:
Private Sub cmbAuswahl_Click()
Dim i
For i = 1 To lbxBlatt.ListCount
If lbxBlatt.Selected(i) Then Daten_übertragen lbxBlatt.List(i)
Next
Unload Me
End Sub
und gleichzeitig in einem allgemeine Modul (Da wo Importieren liegt):
Sub Daten_übertragen(ByVal BlattName As String)
Dim wsQ As Worksheet 'Q wie Quelle
Dim wsZ As Worksheet 'Z wie Ziel
Set wsQ = ThisWorkbook.Worksheets(BlattName)
Set wsZ = ThisWorkbook.Worksheets("xyz") 'anpassen
Range(wsQ.Range("A2"), wsQ.Cells(Rows.Count, "D").End(xlUp)).Copy wsZ.Cells(Rows.Count, "A").End(xlUp).Offset(1, 0) 'Letzte Spalte "D" anpassen
End Sub
VG
Yal