Man sollte die Daten in regelmäßigen Abständen sichern, da jede falsche Änderung durch den anderen Benutzer oder das versehentliche Löschen der Excel-Datei viel Zeit und Informationen verderben kann.

In diesem Artikel wird beschrieben, wie Sie eine Sicherungskopie einer Excel-Datei mit VBA erstellen.

In diesem Artikel werden zwei verschiedene Arten der Sicherung mit VBA-Code behandelt. Wir haben zwei Makros für die Sicherung von Excel-Dateien geschrieben.

Das Makro „SaveWorkbookBackup“ erstellt eine Sicherung der Excel-Datei mit der Erweiterung „.bak“ in demselben Ordner, in dem die aktive Arbeitsmappe gespeichert ist.

ArrowBackUpFileCreated

Das Makro „SaveWorkbookBackupToFloppy“ erstellt eine Kopie der aktiven Arbeitsmappe in Laufwerk D, die als Sicherungsdatei für die aktive Arbeitsmappe dient.

ArrowBackUpCopyCreated

Code Erklärung

Wenn nicht in Ordnung, dann MsgBox „Sicherungskopie nicht gespeichert!“, VbExclamation, ThisWorkbook.Name End If Above Code wird zum Anzeigen der Fehlermeldung verwendet, wenn während der Ausführung des Makros ein Laufzeitfehler auftritt.

NotSaveDialogBox

Wenn AWB.Path = „“, dann ‚Dialogfeld „Speichern unter“ zum Speichern von Dateien anzeigen Application.Dialogs (xlDialogSaveAs). Der obige Code wird zum Anzeigen des Dialogfelds „Speichern unter“ verwendet, wenn die Datei vor dem Sichern der Datei nicht gespeichert wird.

SaveAs Dialog Box

Bitte folgen Sie unten für den Code

Option Explicit

Sub SaveWorkbookBackup()

Dim AWB As Workbook, BackupFileName As String, i As Integer, Ok As Boolean

On Error GoTo NotAbleToSave



Set AWB = ActiveWorkbook

'Assign full path of file along file name to variable BackupFileName

BackupFileName = AWB.FullName

'Checking whether file is saved

'If file is not saved then saving the file

If AWB.Path = "" Then

'Displaying Save as dialog box for file saving

Application.Dialogs(xlDialogSaveAs).Show

Else



'Removing file extension from file name

i = 0

While InStr(i + 1, BackupFileName, ".") > 0

'Find the extension of file

i = InStr(i + 1, BackupFileName, ".")

Wend



If i > 0 Then BackupFileName = Left(BackupFileName, i - 1)



'Adding back up extension ".bak" with file name

BackupFileName = BackupFileName & ".bak"

Ok = False



With AWB

.Save

'Creating Backup of file

.SaveCopyAs BackupFileName

Ok = True

End With

End If

NotAbleToSave:

'Code for error handling

Set AWB = Nothing

If Not Ok Then

MsgBox "Backup Copy Not Saved!", vbExclamation, ThisWorkbook.Name

End If

End Sub

Sub SaveWorkbookBackupToFloppy()

Dim AWB As Workbook, BackupFileName As String, i As Integer, Ok As Boolean

Dim DriveName As String

On Error GoTo NotAbleToSave



'Specify the path for making back up in D drive

DriveName = "D:\"

'Initializing the variables

Set AWB = ActiveWorkbook

BackupFileName = AWB.Name

Ok = False

'Checking whether file is saved

'If file is not saved then saving the file

If AWB.Path = "" Then

'Displaying Save as dialog box for file saving

Application.Dialogs(xlDialogSaveAs).Show

Else

'Deleting file if backup file already exists

If Dir(DriveName & BackupFileName) <> "" Then

Kill DriveName & BackupFileName

End If

With AWB

.Save

'Creating the back up file

.SaveCopyAs DriveName & BackupFileName

Ok = True

End With

End If

NotAbleToSave:

'Code for error handling

Set AWB = Nothing



If Not Ok Then

MsgBox "Backup Copy Not Saved!", vbExclamation, ThisWorkbook.Name

End If

End Sub

Wenn Ihnen dieser Blog gefallen hat, teilen Sie ihn mit Ihren Freunden auf Facebook und Facebook.

Wir würden gerne von Ihnen hören, lassen Sie uns wissen, wie wir unsere Arbeit verbessern und für Sie verbessern können. Schreiben Sie uns unter [email protected]