unter C:\test\Projektordner habe ich eine Exceldatei mit nachstehendem Code, aus der ich für jeden Datensatz der Liste im selben Pfad je einen "Datensatz-Ordner" (z.B. C:\test\Projektordner\Ordner_a) anlegen bzw. kopieren lasse, sowie innerhalb dieser Ordner eine "Vorlagen-Exceldatei" (GEA_Vorlage.xls) jeweils umbenenne (z.B. GEA_Ordner_a.xls). Der Code funtkioniert einwandfrei für beliebig viele Datensätze.
Sub KopiereOrdner()
Dim Ordnername As String
Dim fso As FileSystemObject
Set fso = CreateObject("Scripting.FileSystemObject")
For i = 6 To 100
Ordnername = Cells(i, 1).Value 'oder Range("A"& i).Value
If Ordnername > "" Then
'MsgBox Ordnername
If Not fso.FolderExists(ThisWorkbook.Path & "\" & Ordnername) Then
fso.CopyFolder ThisWorkbook.Path & "\!Vorlage", ThisWorkbook.Path & "\" & _
Ordnername, False
fso.MoveFile ThisWorkbook.Path & "\" & Ordnername & "\Sanierungskonzept\ _
GEA_Vorlage.xls",
ThisWorkbook.Path & "\" & Ordnername & "\Sanierungskonzept\GEA_" & Ordnername & ".xls"
Else
End If
End If
Next i
End Sub
Nun möchte ich, dass unter einem anderen Laufwerk ebenfalls obige "Datensatz-Ordner" angelegt werden. Das Laufwerk ist ein anderes, der 1. Ordner ist vorhanden (hier "test"). Nun sollen unter "test" der "Projektordner" und hierunter "Datensatz-Ordner" neu erstellt werden.Ich hatte es mit folgender Ergänzung zwischen fso.MoveFile und Else versucht:
fso.CreateFolder ("D:\test\" & Range("K2"))
fso.CreateFolder ("D:\test\" & Range("K2") & "\" & Ordnername)
In "K2" steht die Projektbezeichnung, in diesem Beispiel also "Projektordner". Der Code funktioniert sogar, jedoch nur für den ersten Datensatz, dann erhalte ich die Meldung, dass der Ordner bereits existiert.
Was muss ich ändern, damit in der Schleife für jeden Datensatz unter "Projektordner" der jeweilige "Datensatz-Ordner" erstellt wird?
Eine Beispieldatei müsste ich erst generieren, da meine Datei durch vielfache Verweise etc. nicht einfach hochladbar ist - aber vielleicht ist obiges für eine Hilfe verständlich und ausreichend.
Für Eure Mühen bereits im Voraus: Vielen lieben Dank.
Tobias