Otto Reinhardt
2005-08-03 12:26:58 UTC
Hallo NG,
ich habe ein Problem beim Kopieren von Tabellenblättern. Ich gehe dabei
folgendermaßen vor:
Ein Schichtplan hat zunächst vier Tabellenblätter für die ersten 4 Wochen.
Wenn sie komplett ausgefüllt sind, soll per Knopfdruck ein Makro ausgelöst
werden, das aus einer weiteren Exceltabelle (Vorlage.xls) 4 neue leere
Tabellenblätter herauskopiert und ans Ende des Schichtplans stellen soll.
Mein Code schaut bis jetzt so aus:
Sub Makro kopieren()
Workbooks.Open Filename:="D:\Vorlage.xls", Editable:=True 'ruft
die leere Vorlage auf
Sheets(Array("1", "2", "3", "4")).Select
Sheets("1").Activate
Sheets(Array("1", "2", "3", "4")).Copy
After:=Workbooks("Schichtplan.xls").Sheets(Sheets.Count) ' ermittelt
die Anzahl der Blätter und stellt die Kopien ans Ende ??????
Sheets(Sheets.Count - 3).Select
'springt 3 Blätter zurück auf B2
Range("B2").Select
'und löscht den Inhalt
Selection.ClearContents
Windows("Vorlage.xls").Activate
'schließt die Vorlage
ActiveWindow.Close
End Sub
Beim ersten Ablauf des Makros funtioniert es einwandfrei. Bei wiederholten
Aufrufen werden die Kopien immer an der selben Stelle eingefügt und zwar
immer nach den ersten 4 Blättern und nicht an das Ende.
Kann mir jemand behilflich sein und wenn es geht so erkären, dass ich es als
VBA-Unkundiger auch verstehe.
Vielen Dank für Euer Bemühen
Otto
ich habe ein Problem beim Kopieren von Tabellenblättern. Ich gehe dabei
folgendermaßen vor:
Ein Schichtplan hat zunächst vier Tabellenblätter für die ersten 4 Wochen.
Wenn sie komplett ausgefüllt sind, soll per Knopfdruck ein Makro ausgelöst
werden, das aus einer weiteren Exceltabelle (Vorlage.xls) 4 neue leere
Tabellenblätter herauskopiert und ans Ende des Schichtplans stellen soll.
Mein Code schaut bis jetzt so aus:
Sub Makro kopieren()
Workbooks.Open Filename:="D:\Vorlage.xls", Editable:=True 'ruft
die leere Vorlage auf
Sheets(Array("1", "2", "3", "4")).Select
Sheets("1").Activate
Sheets(Array("1", "2", "3", "4")).Copy
After:=Workbooks("Schichtplan.xls").Sheets(Sheets.Count) ' ermittelt
die Anzahl der Blätter und stellt die Kopien ans Ende ??????
Sheets(Sheets.Count - 3).Select
'springt 3 Blätter zurück auf B2
Range("B2").Select
'und löscht den Inhalt
Selection.ClearContents
Windows("Vorlage.xls").Activate
'schließt die Vorlage
ActiveWindow.Close
End Sub
Beim ersten Ablauf des Makros funtioniert es einwandfrei. Bei wiederholten
Aufrufen werden die Kopien immer an der selben Stelle eingefügt und zwar
immer nach den ersten 4 Blättern und nicht an das Ende.
Kann mir jemand behilflich sein und wenn es geht so erkären, dass ich es als
VBA-Unkundiger auch verstehe.
Vielen Dank für Euer Bemühen
Otto