Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Excel nach bestimmter Zeit automatisch schließen

Forumthread: Excel nach bestimmter Zeit automatisch schließen

Excel nach bestimmter Zeit automatisch schließen
18.07.2002 08:30:45
Steph@n
Hallo,

ist folgendes mit Excel realisierbar?:

Ich habe eine geöffnete Datei und möchte, dass diese automatisch geschlossen wird, wenn diese länger als 2 Minuten nicht verändert/benutzt wurde!

Vielen Dank für Eure Tipps!

Gruss Steph@n

Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Excel nach bestimmter Zeit automatisch schließen
18.07.2002 09:05:30
BCM
Hi Steph@n,
prinzipiell schon. Du kannst Dir zum Beispiel in einer globalen Variablen immer wenn SelectionChange oder Change eintritt, die entsprechende Zeit ablegen. Und über OnTime rufst Du in regelmäßigen Abständen (zB alle 2 Minuten) eine Prozedur auf, die überprüft, ob zwischen Now und dem Inhalt der Variablen mehr als 2 Minuten liegen; wenn ja, dann runter damit.
Verändern ist klar, aber was meinst Du mit "benutzt"?
cu
BCM
Anzeige
Re: Excel nach bestimmter Zeit automatisch schließen
18.07.2002 09:19:03
Kl@us-M.
Hallo Stephan,
Code in "Diese Arbeitsmappe":

EINFÜGEN - MODUL
Code in Modul:

Sub Schließen()
ActiveWorkbook.Close savechanges:=True
End Sub


Viel Erfolg
Klaus-Martin

Re: Excel nach bestimmter Zeit automatisch schließen
18.07.2002 09:27:27
Steph@n
Hallo,

mit benutzt meine ich, auch wenn jemand nichts an irgendwelchen Zellen ändert, kann es ja trotzdem sein, dass er zwischen Sheets hin und her spring, oder innerhalb eines Blattes scrollt. Ist das der Fall, darf die Datei auch nicht geschlossen werden!

könntest Du mir mal aufzeigen wie ein Coding aussehen müsste, mit dem ich die globale Variable mit der entsprechenden Zeit fülle, sobald ein SelectionChange- bzw. Change-Ereignis eintritt?

Habe mir mal in der Excel-Hilfe die OnTime Geschichte angeschaut und folgendes Coding gefunden:

Application.OnTime Now + TimeValue("00:00:15"), "meine_Prozedur"

Mir ist jedoch nicht ganz klar, wie ich dieses Coding verwende! Muss ich das in eine Prozedur einbinden oder bleibt das alleine stehen? Wo muss ich das Coding verwenden (in einem Modul, oder in "DieseArbeitsmappe")?

Vielen Dank für Deine Hilfe!

Gruss Stephan

Anzeige
Re: Excel nach bestimmter Zeit automatisch schließen
18.07.2002 09:43:13
BCM
Hi Steph@n,
der Code von Martin sollte funktionieren, wobei Du das Worksheet_SelectionChange Ereignis natürlich direkt ins Sheet hängen mußt. Und in jedes Sheet, und Du mußt Dir natürlich überlegen, für welche Ereignisse Du das noch machen mußt (Change, Activate etc.)

Die Routine zum schliessen kannst Du entweder in "DieseArbeitsmappe" stellen oder in ein Modul.
cu
BCM

Anzeige
Re: Excel nach bestimmter Zeit automatisch schließen
18.07.2002 09:56:19
Steph@n
Hi Klaus-Martin,

Vielen Dank für das Coding! Habe gerade mal versucht, es zu verinnerlichen, brauche aber nochmal einen Denkanstoss!

Du setzt zuerst die Variable "neuezeit" um 2 Minuten herauf!
Danach sagst Du ihm, welche Prozedur ausgeführt werden soll, wenn die Zeit in "altezeit" erreicht wurde! (warum das???)
Dann setzt Du "altezeit" gleich "neuezeit"!
Danach sagst Du ihm, welche Prozedur ausgeführt werden soll, wenn die Zeit in "neuezeit" erreicht wurde!

Ich habe noch nicht ganz verstanden, warum Du 2mal die OnTime-Geschichte ausführst mit jeweils unterschiedlichen Variablen!

Gruss Stephan

Anzeige
Re: Excel nach bestimmter Zeit automatisch schließen
18.07.2002 09:57:18
Karsten Brocksieper
Hallo,

...nur mal ganz nebenbei angemerkt ;-). Wenn Du damit erreichen willst, dass ein anderer Benutzer diese Datei dann öffnen kann, wenn diese länger nicht benutzt wird --- hast Du dir dann schon einmal die Möglichkeit angesehen, eine Freigabe auf diese Arbeitsmappe einzurichten; dann kann diese von mehreren Benutzern gleichzeitig bearbeitet werden...
Aber -wie gesagt- das nur so nebenbei...

Gruß, Karsten

Anzeige
Re: Excel nach bestimmter Zeit automatisch schließen
18.07.2002 11:38:00
Steph@n
Hi,

danke für die Tipps! Kannst Du mir u.U. auch die Frage beantworten, die ich Martin zu seinem Coding noch gestellt habe?

Gruss Stephan

Re: Excel nach bestimmter Zeit automatisch schließen
18.07.2002 11:58:32
Steph@n
Das ist genau das, was ich realisieren will! Kannst Du mir näheres dazu sagen?

Gruss Stephan

Re: Excel nach bestimmter Zeit automatisch schließen
18.07.2002 12:41:22
Karsten Brocksieper
Hallo,

den Dialog findest Du unter dem Menüpunkt "Extras-Arbeitsmappe freigeben" (jedefalls bei XL97). Dort findest Du auch die Einstellungen zur "automatischen Speicherung alle XXX Minuten" sowie die Einstellungen für die Änderungsprotokollierung.
Die Hilfe zu diesem Thema ist übrigens auch ganz gut.

Wenn Du dann noch Fragen hast, meld dich einfach noch mal...

Gruß, Karsten

P.S.: ...klappt meiner Erfahrung nach übrigens nur vernünftig, wenn alle mit der gleichen XL-Version (ab 97 aufwärts) arbeiten...

Anzeige
Re: Excel nach bestimmter Zeit automatisch schließen
18.07.2002 12:58:46
Steph@n
Okay, werd mir das mal zu Gemüte führen und komme auf Dein Angebot zurück, wenn ich noch Fragen habe!

Gruss Stephan

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Excel nach bestimmter Zeit automatisch schließen


Schritt-für-Schritt-Anleitung

Um eine Excel-Datei automatisch zu schließen, wenn sie länger als eine bestimmte Zeit inaktiv ist, kannst Du den folgenden VBA-Code verwenden. Dieser Code wird in der Arbeitsmappe eingefügt:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Wähle im Projektfenster die Arbeitsmappe aus, in der Du den Code einfügen möchtest.
  3. Klicke mit der rechten Maustaste auf "Diese Arbeitsmappe" und wähle "Code anzeigen".
  4. Füge den folgenden Code ein:
Dim letzteAktivitaet As Date
Dim schliesszeit As Date

Private Sub Workbook_Open()
    letzteAktivitaet = Now
    schliesszeit = Now + TimeValue("00:02:00") ' 2 Minuten
    Application.OnTime schliesszeit, "Schliessen"
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    letzteAktivitaet = Now
    schliesszeit = Now + TimeValue("00:02:00")
    Application.OnTime schliesszeit, "Schliessen"
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object)
    letzteAktivitaet = Now
    schliesszeit = Now + TimeValue("00:02:00")
    Application.OnTime schliesszeit, "Schliessen"
End Sub

Sub Schliessen()
    If Now > schliesszeit Then
        ThisWorkbook.Close SaveChanges:=True
    Else
        schliesszeit = Now + TimeValue("00:02:00")
        Application.OnTime schliesszeit, "Schliessen"
    End If
End Sub
  1. Speichere die Arbeitsmappe als Excel Macro-Enabled Workbook (*.xlsm).

Die oben genannten Schritte helfen dabei, eine Excel-Datei automatisch zu schließen, wenn sie länger als die festgelegte Zeit inaktiv ist.


Häufige Fehler und Lösungen

  • Fehler: Excel schließt sich von alleine oder schließt nicht.

    • Lösung: Überprüfe, ob der Code korrekt in "Diese Arbeitsmappe" eingefügt wurde und ob die Zeitintervalle richtig gesetzt sind.
  • Fehler: Der Code wird nicht ausgeführt.

    • Lösung: Stelle sicher, dass Makros in Excel aktiviert sind. Du kannst dies unter "Datei" > "Optionen" > "Sicherheitscenter" > "Einstellungen für das Sicherheitscenter" überprüfen.

Alternative Methoden

Eine andere Möglichkeit, um eine Excel-Datei automatisch zu schließen, besteht darin, die Funktion "Automatische Speicherung" zu verwenden:

  1. Gehe zu "Datei" > "Optionen".
  2. Wähle "Speichern" und aktiviere die Option "Automatisch alle x Minuten speichern".
  3. Setze die Zeit auf ein passendes Intervall, z.B. 2 Minuten.

Diese Methode sorgt jedoch nicht dafür, dass die Datei geschlossen wird, sondern speichert nur automatisch.


Praktische Beispiele

Hier sind einige Beispiele zur Anwendung des Codes:

  • Beispiel 1: Wenn Du eine Excel-Datei für Berichte verwendest, kannst Du den Code anpassen, um die Datei nach 5 Minuten Inaktivität zu schließen.
  • Beispiel 2: In einer Teamumgebung kannst Du dafür sorgen, dass die Datei geschlossen wird, wenn niemand mehr daran arbeitet, wodurch Du die Nutzung von Ressourcen optimierst.

Tipps für Profis

  • Verwende die Workbook_BeforeClose-Ereignisse, um Benutzern eine Warnung anzuzeigen, bevor die Datei geschlossen wird.
  • Teste den VBA-Code gründlich, um sicherzustellen, dass er in verschiedenen Szenarien funktioniert.
  • Überlege Dir, ob Du eine Freigabe für die Arbeitsmappe einrichten möchtest, wenn mehrere Benutzer gleichzeitig arbeiten.

FAQ: Häufige Fragen

1. Frage
Wie kann ich die Zeit ändern, nach der die Excel-Datei automatisch geschlossen wird?
Antwort: Ändere einfach den Wert in der Zeile schliesszeit = Now + TimeValue("00:02:00") auf die gewünschte Zeit (z.B. "00:05:00" für 5 Minuten).

2. Frage
Was passiert, wenn ich die Excel-Datei nicht speichere, bevor sie geschlossen wird?
Antwort: Der Code speichert die Datei automatisch, da SaveChanges:=True im Schließbefehl verwendet wird.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige