folgender Plan meinerseits:
Ich habe unzählige Exceldateien. Jede Datei hat eine "Seite" namens "Hauptblatt".
In dieer sind die wichtigsten Informationen aus der jeweiligen Datei zusammengefasst.
Da diese am Ende des Monats ausgedruckt werden müssen, habe ich die Überlegung die jeweils 1. Seite, also das Hauptblatt, in eine andere Excel-Datei zu kopieren.
Das Öffnen der anderen Datei und das Reinkopieren klappt soweit.
Mein nächster Schritt ist jetzt recht banal, aber ich bekomme die Reiterkarte in der Zieldatei nicht umbenannt.
Könnt ihr mal drüber kucken?
nachfolgend mein Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
' erste Seite kopieren und auf die uerbersicht_maler.xls legen
' Tabellenblatt Hauptblatt auswählen
Sheets("Hauptblatt").Select
Application.ScreenUpdating = False
Application.EnableEvents = False
Dim quelldatei As String
quelldatei = ActiveWorkbook.Name ' quellnamen auslesen
Dim QWB As Workbook, ZWB As Workbook
Dim reitername As String
reitername = Range("D2") ' der Baustellenname soll der spätere Name der Reiterkarte werden
' uebersicht öffnen, wenn offen, errorhandling drauflegen
Workbooks.Open "R:\E-mail\Daten\Lohmann\uebersichten_maler.xlsx" ' Ziel, in die das _
Hauptblatt kopiert werden soll
Set ZWB = Workbooks("uebersichten_maler.xlsx")
Set QWB = Workbooks(quelldatei) ' Quelle
Dim ZWS As Worksheet, QWS As Worksheet
'Set ZWS = ZWB.Worksheets("Tabelle2") ' Ziel
Set QWS = QWB.Worksheets("Hauptblatt") ' Quelle
QWB.Sheets("Hauptblatt").Copy _
Before:=Workbooks("uebersichten_maler.xlsx").Sheets(1)
' umbenennen in das richtige bauvorhaben
ZWB.Activate
Set QWB = Nothing
ActiveSheet.Name = reitername
' wenn der name vorhanden, dann die alte reiterkarte löschen und durch die neue ersetzen
' code kommt noch
' einschalten
Application.EnableEvents = True
'Blattschutz wieder drauflegen
Call Blattschutz_alle_Tabellen
End Sub
Schöne Grüße Hans