# VBA Excel - Mehrere Sheets kopieren



## Doni (22. Dezember 2004)

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


----------



## Doni (23. Dezember 2004)

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


----------



## Doni (23. Dezember 2004)

Okay... ich habe es selbst herausbekommen...    Wenn jemand das gleiche Vorhaben haben sollte, dann poste ich hier den Quellcode rein!


----------



## Fabiano (23. Dezember 2004)

ja, dass wäre nett,

Danke
Fabiano


----------

