Speichern durch VBA verhindern
Schritt-für-Schritt-Anleitung
Um das Speichern einer Excel-Datei durch VBA zu verhindern, kannst du das folgende Makro verwenden. Dieses Beispiel zeigt, wie du eine Abfrage integrierst, die das Speichern nur für bestimmte Benutzer erlaubt.
- Öffne deine Excel-Datei.
- Drücke
ALT + F11
, um den VBA-Editor zu öffnen.
- Klicke im Projekt-Explorer auf „Diese Arbeitsmappe“.
- Füge den folgenden Code ein:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Application.UserName <> "DeinBenutzername" Then
MsgBox "Sie sind nicht berechtigt, diese Datei abzuspeichern."
Cancel = True
End If
End Sub
- Ersetze
"DeinBenutzername"
mit dem tatsächlichen Benutzernamen, der speichern darf.
- Schließe den VBA-Editor und speichere die Arbeitsmappe als Excel-Workbook mit Makros (*.xlsm).
Häufige Fehler und Lösungen
Alternative Methoden
Eine alternative Methode ist die Verwendung einer Passwortabfrage. Hier ist ein Beispiel, wie du mit einem Passwort das Speichern verhindern kannst:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim strpw As String
strpw = Application.InputBox("Sie dürfen nicht speichern! Bitte Passwort eingeben:", "Speichern abgebrochen")
If strpw = "" Or strpw <> "123" Then
MsgBox "Speichern abgebrochen."
Cancel = True
End If
End Sub
In diesem Beispiel wird das Speichern nur mit dem richtigen Passwort (hier „123“) erlaubt.
Praktische Beispiele
Hier sind einige Szenarien, in denen das Speichern durch VBA verhindert wird:
-
Speichern für bestimmte Benutzer sperren:
Das oben gezeigte Beispiel schützt die Datei vor unberechtigten Benutzern.
-
Speichern nach Benutzername:
Wenn sich nur bestimmte Benutzer in der Organisation anmelden dürfen, kann der folgende Code verwendet werden:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Environ("UserName") <> "Oliver" Then
MsgBox "Speichern ist nicht erlaubt."
Cancel = True
End If
End Sub
Tipps für Profis
-
Verwende Application.UserName
: Dies ist eine einfache Möglichkeit, um Benutzernamen zu überprüfen, aber sei dir bewusst, dass Benutzer ihre Namen ändern können.
-
Nutze Passwortabfragen: Wenn die Sicherheit höher ist, ziehe die Verwendung von Passwortabfragen in Betracht, um das Speichern zu verhindern.
-
Regelmäßige Sicherungen: Stelle sicher, dass du regelmäßig Sicherungskopien deiner Excel-Datei machst, um Datenverlust durch unabsichtliches Speichern zu vermeiden.
FAQ: Häufige Fragen
1. Wie kann ich das Speichern für alle Benutzer verhindern?
Du kannst den Code so anpassen, dass jeder Benutzer eine Nachricht erhält, wenn er versucht zu speichern, unabhängig von ihrem Benutzernamen.
2. Kann ich das Makro auch in Excel 365 verwenden?
Ja, der Code funktioniert in Excel 365 sowie in älteren Versionen, solange du die Datei als .xlsm speicherst.