HERBERS Excel-Forum - das Archiv
Arbeitsblatt in neuer Arbeitsmappe speichern
Alex

Hallo,
habe diverse Code-Beispiele hier aus dem Forum ausprobiert aber es funktioniert nicht so wie gewünscht.
Ich möchte per Schaltfläche das einzig vorhandene Arbeitsblatt in eine neue Arbeitsmappe auf einem vorgegebenen Pfad speichern. Das dies mit dem SaveCopyAs Befehl gemacht werden soll habe ich herausgefunden. Denoch springt Excel immer in die soeben gespeicherte Kopie und bleibt nicht im Original.
Ich mache das um die im Original vorhandenen UserForm und VBA Code nicht in der Kopie zu speichern.
folgenden Code verwende ich:
If Len(DIR("c:\sicherung", vbDirectory)) Then 'Prüfe ob Verzeichniss vorhanden
ChDir "c:\sicherung" 'Wenn ja wechsle ins Verzeichnis
Else 'wenn Nein
MkDir "c:\sicherung" 'erstelle Verzeichnis
ChDir "c:\sicherung" 'wechsle ins erstellte Verzeichnis
End If
'Worksheets("data").Copy
'ActiveWorkbook.SaveAs "C:\sicherung\"
'ActiveWorkbook.Close False
Dim Original As String
Dim Kopie As String
Dim t As Integer
'Original = ActiveWorkbook.name
'Kopie = ActiveWorkbook.name & "_Kopie.xls"
'Workbooks.Add
Worksheets("data").Copy
ActiveWorkbook.SaveCopyAs _
Filename:="C:\sicherung\" & Kopie
Workbooks(Original).Activate
End Sub
Ganz besonders toll wären anstatt _Kopie.xls das aktuelle Datum & Zeit.xls
Bin für Vorschläge offen
Grüsse Alex

AW: Arbeitsblatt in neuer Arbeitsmappe speichern
Rudi

Hallo,
so sollte es gehen:


Sub tt()
Dim Original As String
Dim Kopie As String
Dim t As Integer
If Len(Dir("c:\sicherung", vbDirectory)) = 0 Then 'Prüfe ob Verzeichniss vorhanden
MkDir "c:\sicherung" 'erstelle Verzeichnis
End If
Worksheets("data").Copy
ActiveWorkbook.SaveAs "C:\sicherung\" _
& Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 4) _
& "_" & Format(Now, "YYYYMMDDhhmmss") & ".xls"
ActiveWorkbook.Close False
End Sub


Gruß
Rudi

AW: Arbeitsblatt in neuer Arbeitsmappe speichern
Alex

Hallo,
danke es funktioniert!
Grüsse Alex