VBA Excel - Mehrere Sheets kopieren

Doni

Grünschnabel
Hallo zusammen...

Folgendes:

Ich habe circa 10 Excel Tabellen und zwar sind dies Arbeitszeiten für das ganze Jahr. Für jeden Arbeitnehmer eine Tabelle mit 12 Sheets. (Für jeden Monat 1 Sheet - klar)

Jetzt will ich für jeden Monat - in einer neuen Arbeitsmappe - aus jeder Tabelle eines Arbeitnehmers einen Monat filtern.

Ich kopiere Sheet "Jan05" aus Workbook "Arbeitnehmer 1" in eine Tabelle namens z.B. "Arbeitszeiten Januar" und benenne dort "Jan05" um in "A1". Dann wird das Workbook "Arbeitnehmer 1" geschlossen und "Arbeitnehmer 2" wird geöffnet, dort wird dann auch "Jan05" in das noch geöffnete Workbook "Arbeitszeiten Januar" kopiert und ganz an das Ende der Sheets gestellt!

Das Ganze soll verwirklicht werden über jeweils einen Command Button "Januar", "Februar" etc. in einer extra dafür angefertigten Tabelle, nennen wir sie mal "Zeitkopierer".

Ui, ich hoffe das ist einigermaßen verständlich :( :(

Vielleicht könnte mir jemand helfen bei der Erstellung solch eines Codes?!

Ich habe selbstverständlich schon selbst ein wenig getüfftelt, aber mit wenig Erfolg gekrönt :(

CODE:
Private Sub CommandButton1_Click()
'Kopieren Zeittabelle Arbeitnehmer 1
Workbooks.Open Filename:=ThisWorkbook.Path & "\" & "Zeiterfassung-Arbeitnehmer1.xls"
Worksheets("Jan05").Select
Sheets("Jan05").Copy
Workbooks.Open Filename:=ThisWorkbook.Path & "\" & "Arbeitszeiten Januar 2005.xls"
ActiveSheet.Name = ("A1")
ActiveWorkbook.Close savechanges:=True
ActiveWorkbook.Close savechanges:=True

etc.
etc.
etc.

End Sub

Ich habe schon diverse Code Änderungen vorgenommen, aber keine funktionierte!

Vielen Dank für Vorschläge und Hilfe
 
Zuletzt bearbeitet:
Auch mit diesem Code funktioniert es nicht wirklich:

Sub Blatt_kopieren()
Dim AName$
Workbooks.Open FileName:=ThisWorkbook.Path & "\" & "Zeittabelle Januar.xls"
Workbooks.Open FileName:=ThisWorkbook.Path & "\" & "Arbeitnehmer 1.xls"
AName = ActiveWorkbook.Name
Workbooks(AName).Activate
Sheets("Jan05").Copy after:=Workbooks("Zeittabelle Januar.xls").Sheets(Sheets.Count)
Sheets("Jan05").Select
Sheets("Jan05").Name = "A1"
Workbooks("Zeittabelle Januar.xls").Close savechanges:=True

etc.
etc.
etc.

End Sub
 
Okay... ich habe es selbst herausbekommen... ;) Wenn jemand das gleiche Vorhaben haben sollte, dann poste ich hier den Quellcode rein!
 
Zurück