Unten wird der Code zum Kopieren von Blättern aus der Quelle und dann zum Umbenennen und Platzieren in ein Ziel verwendet.Benennen Sie das Blatt um, nachdem es kopiert wurde und erstellen Sie die Master-Arbeitsmappe.
Ich möchte die Funktionalität erweitern, um einen anderen Zellbezug zu verwenden, um den Blattnamen in der neu erstellten Datei umzubenennen. (Beachten Sie, dass jede kopierte Arbeitsmappe nur ein Blatt enthält.) Nachdem alle Arbeitsmappen kopiert, umbenannt und die Arbeitsblätter umbenannt wurden, führen Sie alle Arbeitsmappen im Zielpfad zusammen.
Sub CopyRenameFile()
Dim src As String, dst As String, fl As String, f2 As String
Dim rfl As String
Dim rf2 As String
'Source directory
src = Range("B3")
'Destination directory
dst = Range("D3")
'File name
fl = Range("B6")
f2 = Range("B7")
'Rename file
rfl = Range("D6")
rf2 = Range("D7")
On Error Resume Next
FileCopy src & "\" & fl, dst & "\" & rfl
FileCopy src & "\" & f2, dst & "\" & rf2
If Err.Number <> 0 Then
MsgBox "Copy error: " & src & "\" & rfl
End If
On Error GoTo 0
Dim xL As Excel.Application
Set xL = New Excel.Application
xL.Visible = True
Dim wb As Excel.Workbook
Set wb = xL.Workbooks.Open(F6)
'In case you don't know how here are two ways to reference a sheet:
Dim sh As Excel.Worksheet
Set sh = xL.Sheets(1)
sh.Name = "TestMeOut"
'Saving and closing are important...
wb.Save
Set wb = Nothing
xL.Quit
Set xL = Nothing
End Sub
Ich sehe dort keine Code Kopierblätter. Wie ist das relevant für die Frage? –
Das obige nimmt eine Datei f1 aus dem Quellverzeichnis, benennt dann die Datei um und speichert sie im Zielverzeichnis. Ich möchte hinzufügen, um die neu benannte Datei zu nehmen und den Blattnamen zu ändern. Danach werden alle Dateien in der Liste kopiert und umbenannt. Sie werden dann in einer einzigen Arbeitsmappe konsolidiert, die von derjenigen, in der das Makro ausgeführt wird, getrennt ist. –