Erstes Tabellenblatt als extra Datei speichern

Frage: Ich würde gerne immer das erste Tabellenblatt meiner Exceldatei zur Sicherung als extra Datei abspeichern. Der Dateiname soll "Sicherung_" plus Datum im Format "dd_mm_yyyy_hh_mm_ss" sein. Wie geht das?

Option Explicit
Public Sub Main()
    Dim WBNew As Workbook
    Dim strPath As String
    On Error GoTo Fin
    Application.ScreenUpdating = False
    strPath = "C:\Temp\" ' adapt
    strPath = IIf(Right(strPath, 1) = "\", strPath, strPath & "\")
    ThisWorkbook.Worksheets(1).Copy
    Set WBNew = ActiveWorkbook
    With WBNew
        If Val(Application.Version) >= 12 Then
            .SaveAs strPath & "Sicherung" & "_" & _
                Format(Now, "dd_mm_yyyy_hh_mm_ss"), 56 ' 56 = xlExcel8
        Else
            .SaveAs strPath & "Sicherung" & "_" & _
                Format(Now, "dd_mm_yyyy_hh_mm_ss") & ".xls"
        End If
        .Close False
    End With
    MsgBox "Datei wurde gespeichert.", 64
Fin:
    Set WBNew = Nothing
    Application.ScreenUpdating = True
    If Err.Number <> 0 Then MsgBox "Fehler: " & _
        Err.Number & " " & Err.Description
End Sub

Beliebte Posts aus diesem Blog

Formeln - auch Array - per VBA eintragen...

Alle Dateien eines Ordners - Optional mit Unterordner

Excel -> Word in Textmarken (Bookmarks)...