Hallo Forumgemeinde,
ich habe folgendes Problem, wo ich leider nicht weiter komme und hoffe, hier eine Hilfestellung zu bekommen:
Ich habe eine Liste, wo der Inhalt aller Exceldateien aus einem Ordner importiert werden soll.
Dafür habe ich ein Makro, welches auch funktioniert:
Private Sub CommandButton1_Click()
Dim fs, f, f1, fc, s
Set fs = CreateObject(„Scripting.FileSystemObject“)
Set f = fs.GetFolder(„C:\Sammelordner“) 'Zielverzeichnis
Set fc = f.Files
Dim a, b
a = 7 'Anfangszeile der Zieldatei
For Each f1 In fc
Workbooks.Open „C:\Sammelordner“ & f1.Name 'alle Dateien aus Zielverzeichnis
Dim Ziel, Quelle As Worksheet
Set Ziel = Workbooks.Item(1).Worksheets(1)
Set Quelle = Workbooks.Item(2).Worksheets(1)
b = 0 'Anfangszeile der Quelldatei
While Quelle.Cells(b + 7, 3) „“
Ziel.Cells(a, 6) = Quelle.Cells(b + 7, 3)
Ziel.Cells(a, 7) = Quelle.Cells(2, 8)
Ziel.Cells(a, 8) = Quelle.Cells(b + 7, 4)
Ziel.Cells(a, 9) = Quelle.Cells(b + 7, 5)
Ziel.Cells(a, 10) = Quelle.Cells(b + 7, 6)
Ziel.Cells(a, 11) = Quelle.Cells(b + 7, 7)
Ziel.Cells(a, 12) = Quelle.Cells(b + 7, 8)
Ziel.Cells(a, 13) = Quelle.Cells(b + 7, 9)
Ziel.Cells(a, 14) = Quelle.Cells(b + 7, 10)
Ziel.Cells(a, 15) = Quelle.Cells(b + 7, 11)
Ziel.Cells(a, 16) = Quelle.Cells(b + 7, 12)
b = b + 1
a = a + 1
Wend
Set Ziel = Nothing
Set Quelle = Nothing
Workbooks.Item(2).Close (False)
Next
End Sub
Nun möchte ich zusätzlich, dass der zu importierende Ordner per Auswahlfeld gewählt werden kann.
Dafür habe ich dieses Makro:
Public Sub Ordnerauswahl()
Dim strOrdner As String
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = „C:“
.Title = „Ordnerauswahl“
.ButtonName = „Auswahl…“
.InitialView = msoFileDialogViewList
If .Show = -1 Then
strOrdner = .SelectedItems(1)
If Right(strOrdner, 1) „“ Then strOrdner = strOrdner & „“
Else
strOrdner = „“
End If
End With
If strOrdner = „“ Then MsgBox („Kein Ordner gewählt!“) Else MsgBox strOrdner
End Sub
Wie kann ich diese beiden Makros zusammen verwenden,sodass per Auswahlfeld das Verzeichnis gewählt wird und dann in die „fs.GetFolder“ bzw. „Workbooks.Open“ eingetragen wird?
Leider bin ich mit den Makros nicht sehr vertraut, daher bitte ich um Entschuldigung für die etwas komplizierte Fragestellung
Viele Grüße
Daniel