Arbeitsmappe nach Datumsablauf sperren
Schritt-für-Schritt-Anleitung
Um Deine Excel-Arbeitsmappe automatisch zu sperren, wenn ein bestimmtes Datum überschritten wird, kannst Du folgenden VBA-Code verwenden. Hier sind die Schritte, die Du befolgen solltest:
-
Öffne die Excel-Arbeitsmappe, die Du schützen möchtest.
-
Drücke ALT + F11
, um den VBA-Editor zu öffnen.
-
Wähle im Projektfenster "Diese Arbeitsmappe" aus.
-
Füge den folgenden Code ein:
Private Sub Workbook_Open()
If Date >= CDate("31.01.2020") Then
MsgBox "Mappe nicht mehr gültig, bitte benutze die neue oder kontaktiere mich."
ThisWorkbook.Close
End If
End Sub
-
Ändere das Datum entsprechend Deinem Bedürfnis.
-
Schließe den VBA-Editor und speichere Deine Arbeitsmappe als Makro-enabled Datei (*.xlsm
).
-
Schließe und öffne die Arbeitsmappe erneut, um den Code zu testen.
Häufige Fehler und Lösungen
Hier sind einige häufige Probleme, die bei der Implementierung des Codes auftreten können, sowie deren Lösungen:
-
Problem: Der Code funktioniert nicht.
- Lösung: Stelle sicher, dass Du die Datei als
*.xlsm
speicherst und die Makros in Excel aktiviert sind.
-
Problem: Das Datum im Code ist falsch.
- Lösung: Achte darauf, dass das Datum im Code im richtigen Format eingegeben wird (TT.MM.JJJJ).
-
Problem: Mehrfache Private Sub Workbook_Open()
-Deklarationen.
- Lösung: Überprüfe Deinen Code auf doppelte Deklarationen und entferne die überflüssigen.
Alternative Methoden
Neben dem VBA-Ansatz gibt es auch andere Möglichkeiten, um eine Excel-Arbeitsmappe nach einem bestimmten Datum zu sperren:
- Passwortschutz: Du kannst die Datei mit einem Kennwort versehen, das nur nach dem Ablaufdatum bekannt ist.
- Excel-Schutz: Verwende die integrierte Funktion, um das Blatt oder die Zellen nach dem Ablaufdatum zu schützen, jedoch ist dies weniger sicher.
Praktische Beispiele
Hier sind einige Beispiele zur Verwendung des Codes:
-
Beispiel 1: Sperre eine Arbeitsmappe für das Jahr 2023.
Private Sub Workbook_Open()
If Date >= CDate("31.12.2023") Then
MsgBox "Diese Arbeitsmappe ist nach dem 31.12.2023 nicht mehr gültig."
ThisWorkbook.Close
End If
End Sub
-
Beispiel 2: Informiere den Benutzer über das Ablaufdatum.
Private Sub Workbook_Open()
If Date >= CDate("01.01.2024") Then
MsgBox "Die Nutzung dieser Datei ist abgelaufen. Bitte aktualisiere die Datei."
ThisWorkbook.Close
End If
End Sub
Tipps für Profis
-
Verwendung von Variablen: Du kannst das Datum in einer Variablen speichern, um die Lesbarkeit des Codes zu erhöhen.
Dim Ablaufdatum As Date
Ablaufdatum = CDate("31.01.2020")
If Date >= Ablaufdatum Then
MsgBox "Mappe nicht mehr gültig."
ThisWorkbook.Close
End If
-
Benachrichtigungen anpassen: Du kannst die MsgBox anpassen, um spezifische Anweisungen oder Informationen anzuzeigen.
FAQ: Häufige Fragen
1. Frage
Was passiert, wenn ich die Makros nicht aktiviere?
Antwort: Der Schutz funktioniert nicht, da der Code nicht ausgeführt wird.
2. Frage
Kann ich das Ablaufdatum einfach ändern?
Antwort: Ja, Du kannst das Datum im Code jederzeit anpassen.
3. Frage
Gibt es eine Möglichkeit, den Schutz zu umgehen?
Antwort: Wenn jemand die Makros deaktiviert oder die Datei in ein anderes Format speichert, kann der Schutz umgangen werden.