siehe mal FAQ, min. Vorname.
' **************************************************************
' Modul: DieseArbeitsmappe Typ = Element der Mappe(Sheet, Workbook, ...)
' **************************************************************
Option Explicit
Private Sub Workbook_Open()
startzeit
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
startzeit
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Zurücksetzen
End Sub
' **************************************************************
' Modul: Modul1 Typ = Allgemeines Modul
' **************************************************************
Option Explicit
Dim datA As Date
Sub startzeit()
On Error Resume Next
Application.OnTime EarliestTime:=datA, Procedure:="Schließen", Schedule:=False
datA = Now + CDate("0:00:02")
Application.OnTime datA, "Schließen"
End Sub
Sub Schließen()
ActiveWorkbook.Close True
End Sub
Sub Zurücksetzen()
Application.OnTime EarliestTime:=datA, Procedure:="Schließen", Schedule:=False
End Sub
Code eingefügt mit: Excel Code Jeanie
Code Jeanie
Frage
Das Umsetzen nach Html klappt perfekt, auch die Ansicht in den Foren ist gegeben. Bei manchen Foren kann man aber anscheinend nicht den dargestellten Code nach VBA rückkopieren. Warum?
Antwort
Dies liegt nicht an der Code Jeanie !!! Manche Foren interpretieren anscheinend < pre > < /pre > Tags nicht richtig und erzeugen am Zeilenende einen weichen Zeilenumbruch anstatt eines harten Zeilenumbruches. Dies führt dazu, dass im VBA-Editor die Zeilen hintereinander geschrieben werden. Zum Rückkopieren in solchen Fällen: Fügen Sie den kopierten Code aus dem Forum nach Word ein, kopieren Sie ihn dort wieder und fügen Sie ihn dann im VBA - Editor ein
Gruß Hajo
Knud
schaue FAQ, min. Vorname.
Ein Hallo zu Beginn und ein Gruß am Ende läst den Beitrag doch gleich viel freundlicher aussehen. Auch wenn Du den Beitrag am Computer eingibst sitzen an der anderen Seite doch Leute und keine Maschinen die Deine Frage beantworten und da sollte Zeit für die paar Worte doch vorhanden sein.
Hast Du auch den kompletten Code übernommen??
https://www.herber.de/user/Datei_sc.xls
Gruß Hajo
Tschulding. Bin ja froh über jede antwort. Danke für deine.
Gruß Nase
Ich komme nicht an das Skript herran, wenn ich es bearbeiten will schliesst es sich sofort. Ist da irgendwas falsch?
Gruß Nase
Danke für deine Hilfe.
Du mußt die Makros deaktivieren, ansonsten läuft ja sonst die Zeit zum schliessen.
Gruß Hajo
Um eine Excel-Datei automatisch zu schließen und zu speichern, wenn sie eine bestimmte Zeit inaktiv ist, kannst Du ein VBA-Skript verwenden. Hier ist eine Schritt-für-Schritt-Anleitung, wie Du das umsetzen kannst:
ALT + F11
, um den VBA-Editor zu öffnen.Option Explicit
Dim datA As Date
Private Sub Workbook_Open()
startzeit
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
startzeit
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Zurücksetzen
End Sub
Sub startzeit()
On Error Resume Next
Application.OnTime EarliestTime:=datA, Procedure:="Schließen", Schedule:=False
datA = Now + TimeValue("00:02:00") ' 2 Minuten
Application.OnTime datA, "Schließen"
End Sub
Sub Schließen()
ActiveWorkbook.Save ' Speichern vor dem Schließen
ActiveWorkbook.Close True
End Sub
Sub Zurücksetzen()
Application.OnTime EarliestTime:=datA, Procedure:="Schließen", Schedule:=False
End Sub
Mit diesem Skript wird die Excel-Datei nach 2 Minuten Inaktivität automatisch geschlossen und zuvor gespeichert.
Fehler: "datA ist nicht definiert"
datA
im Modul deklariert ist. Stelle sicher, dass sie direkt unter Option Explicit
deklariert ist.Fehler: Makro schließt sofort
Wenn Du keine VBA-Lösungen verwenden möchtest, kannst Du auch Excel-Add-Ins oder Timer-Tools von Drittanbietern in Betracht ziehen, die ähnliche Funktionen bieten. Diese Tools können oft so konfiguriert werden, dass sie Excel-Dokumente nach einer festgelegten Inaktivitätszeit automatisch speichern und schließen.
Ein Beispiel für eine Excel-Datei, die automatisiert geschlossen werden kann, ist eine Arbeitsmappe, in der Du regelmäßig Daten eingibst, aber vergisst, sie zu speichern, bevor Du das Programm verlässt. Mit dem oben genannten Skript kannst Du sicherstellen, dass Deine Arbeit nicht verloren geht.
1. Kann ich die Zeit für die Inaktivität ändern?
Ja, Du kannst die Zeit in der Zeile datA = Now + TimeValue("00:02:00")
anpassen. Ändere "00:02:00" auf die gewünschte Zeit.
2. Funktioniert das Skript in allen Excel-Versionen?
Das Skript sollte in den meisten modernen Excel-Versionen (z.B. Excel 2010 und höher) funktionieren, solange die Makros aktiviert sind.
3. Was passiert, wenn ich die Datei nicht speichere, bevor sie geschlossen wird?
Das Skript speichert die Datei automatisch, bevor sie geschlossen wird, sodass keine Daten verloren gehen sollten.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen