Exceltabelle automatisch zu einer bestimmten Uhrzeit schließen
Schritt-für-Schritt-Anleitung
Um deine Exceltabelle automatisch um 07:57 Uhr zu speichern und zu schließen, kannst du den folgenden VBA-Code verwenden. Dieser Code sorgt dafür, dass die Tabelle nicht manuell geschlossen werden muss, was in einigen Fällen problematisch sein kann.
- Öffne Excel und drücke
ALT + F11
, um den VBA-Editor zu öffnen.
- Klicke im Projektfenster auf deine Arbeitsmappe und füge den folgenden Code in das Modul
DieseArbeitsmappe
ein:
Option Explicit
Private Sub Workbook_Open()
Const cClosingTime = "07:57"
dCloseTime = Date + IIf(Time > CDate(cClosingTime), 1, 0) + TimeSerial(Hour(cClosingTime), Minute(cClosingTime), Second(cClosingTime))
Application.OnTime EarliestTime:=dCloseTime, Procedure:="SpeichernSchliessen"
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If dCloseTime > 0 Then
On Error Resume Next
Application.OnTime EarliestTime:=dCloseTime, Procedure:="SpeichernSchliessen", Schedule:=False
dCloseTime = 0
End If
End Sub
- Erstelle ein neues Modul, indem du mit der rechten Maustaste auf "Module" klickst und "Einfügen" wählst. Füge folgenden Code ein:
Option Explicit
Public dCloseTime As Double
Sub SpeichernSchliessen()
ThisWorkbook.Close SaveChanges:=True
dCloseTime = 0
End Sub
- Speichere deine Arbeitsmappe als
.xlsm
(Makro-fähige Arbeitsmappe).
Häufige Fehler und Lösungen
Alternative Methoden
Eine alternative Methode, um ein Excel-Dokument zu einer bestimmten Uhrzeit zu schließen, besteht darin, den Windows Task Scheduler zu nutzen, um ein Skript auszuführen. Dies erfordert jedoch mehr technische Kenntnisse und ist nicht so benutzerfreundlich wie der VBA-Code.
Praktische Beispiele
Angenommen, du möchtest, dass deine Excel-Datei jeden Tag um 17:00 Uhr geschlossen wird. Ändere einfach die Konstante cClosingTime
in der Workbook_Open
-Subroutine:
Const cClosingTime = "17:00"
Dies ermöglicht dir, die Flexibilität zu haben, die Schließzeit nach deinen Bedürfnissen anzupassen.
Tipps für Profis
- Testen: Teste deinen Code in einer nicht kritischen Arbeitsmappe, um unerwünschte Datenverluste zu vermeiden.
- Backup: Erstelle regelmäßig Backups deiner Dateien, insbesondere wenn du mit automatisierten Schließvorgängen arbeitest.
- Fehlerprotokollierung: Ergänze deinen Code um Fehlerbehandlungsroutinen, um Probleme leichter identifizieren zu können.
FAQ: Häufige Fragen
1. Kann ich den Code anpassen, um die Tabelle zu einer anderen Uhrzeit zu schließen?
Ja, ändere einfach den Wert der cClosingTime
-Konstante im Workbook_Open
-Code.
2. Was passiert, wenn Excel nicht geöffnet ist?
Der Code wird erst aktiv, wenn die Arbeitsmappe geöffnet wird. Stelle sicher, dass Excel vor der festgelegten Zeit geöffnet ist.
3. Funktioniert dieser Code in allen Excel-Versionen?
Der VBA-Code sollte in modernen Versionen von Excel (z.B. Excel 2010 und höher) funktionieren. Bei älteren Versionen können Anpassungen notwendig sein.