Das nachstehend Makro habe ich mit dem Recorder aufgezeichnet und es funktioniert auch. Aus einer geöffneten Datei kopiert es die beiden ersten Tabellenblätter in eine neue Datei.
Sub Makro1()
Sheets(Array("Vorlage", "Rückseite")).Select
Sheets("Vorlage").Activate
Sheets(Array("Vorlage", "Rückseite")).Copy
ActiveSheet.Shapes("CommandButton1").Select
Selection.Cut
ChDir "C:\Eigene Dateien\Betriebsbuch"
ActiveWorkbook.SaveAs FileName:="C:\Eigene Dateien\Betriebsbuch\Mappe3.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
Windows("STBAD_0.xls").Activate
End Sub
Dann habe ich diesen Code hinter einen Button auf einer Userform eingebunden und dort meldet er mir das die Copy - Methode fehlerhaft sei. Im Debugger bleibt er auf dieser Zeile Stehen:
Sheets(Array("Vorlage", "Rückseite")).Copy
Was habe ich da falsch gemacht ?
Private Sub Speichern_Click()
Application.DisplayAlerts = False
'Name = Name der Originaldatei
Dim Name As String
Name = Cells(7, 2).Value
'Kopie = Name der abzuspeichernden Datei
Dim Kopie As String
Kopie = Cells(7, 1).Value
'Scroll Aera wird freigegeben
Worksheets("Vorlage").ScrollArea = "A1:M51"
Worksheets("Rückseite").ScrollArea = "A1:J70"
Sheets(Array("Vorlage", "Rückseite")).Select
Sheets("Vorlage").Activate
Sheets(Array("Vorlage", "Rückseite")).Copy
ActiveSheet.Shapes("CommandButton1").Select
Selection.Cut
ActiveWorkbook.SaveAs FileName:="C:\Eigene Dateien\Betriebsbuch\" & Kopie & ".xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
Windows("STBAD_0.xls").Activate
'Scroll Aera wird eingegrenzt
Worksheets("Vorlage").ScrollArea = "G1:M48"
Worksheets("Rückseite").ScrollArea = "D1:J69"
Application.DisplayAlerts = True
End Sub
Bin euch für jeden Tip dankbar
Gruß
Rainer