Tipp: Andere Sprachen sind Google-Übersetzungen. Sie können die English Version dieses Links.
Einloggen
x
or
x
x
Registrieren
x

or

Wie kann ich eine Excel-Datei nach einer bestimmten Leerlaufzeit automatisch speichern und schließen?

In einigen Fällen, z. B. wenn eine Excel-Datei auf einem freigegebenen Datenträger belassen wird, können andere Benutzer die Arbeitsmappe nicht bearbeiten, wenn die Datei noch von einem Benutzer geöffnet wird. Wie kann man die Datei nach einer bestimmten Leerlaufzeit automatisch schließen, um die Arbeit anderer zu erleichtern? Dieser Artikel wird Ihnen mit der VBA-Methode helfen.

Automatisches Speichern und Schließen einer Excel-Datei nach einer bestimmten Leerlaufzeit mit VBA-Code

Registerkarte "Office" Aktivieren Sie das Bearbeiten und Durchsuchen von Registerkarten in Office und vereinfachen Sie Ihre Arbeit erheblich ...
Kutools for Excel löst die meisten Ihrer Probleme und steigert Ihre Produktivität um 80%
  • Alles wiederverwenden: Fügen Sie die am häufigsten verwendeten oder komplexesten Formeln, Diagramme und andere Elemente zu Ihren Favoriten hinzu und verwenden Sie sie in Zukunft schnell wieder.
  • Mehr als 20-Textfunktionen: Extrahieren Sie die Nummer aus der Textzeichenfolge. Teile von Texten extrahieren oder entfernen; Zahlen und Währungen in englische Wörter umrechnen ...
  • Tools zusammenführen: Mehrere Arbeitsmappen und Blätter in einer; Mehrere Zellen / Zeilen / Spalten zusammenführen, ohne Daten zu verlieren; Doppelte Zeilen und Summe zusammenführen ...
  • Geteilte Werkzeuge: Aufteilen von Daten in mehrere Blätter basierend auf dem Wert; Eine Arbeitsmappe in mehrere Excel-, PDF- oder CSV-Dateien; Eine Spalte zu mehreren Spalten ...
  • Einfügen überspringen Versteckte / Gefilterte Zeilen; Zählung und Summe nach Hintergrundfarbe; Mailingliste erstellen und Senden Sie E-Mails nach dem Wert von Cell...
  • Super Filter: Erstellen Sie erweiterte Filterschemata und wenden Sie diese auf alle Blätter an. Art nach Woche, Tag, Häufigkeit und mehr; Filtern durch Fettdruck, Formeln, Kommentar ...
  • Mehr als 300 leistungsstarke Funktionen; Funktioniert mit Office 2007-2019 und 365; Unterstützt alle Sprachen; Einfache Bereitstellung in Ihrem Unternehmen oder Ihrer Organisation.

Automatisches Speichern und Schließen einer Excel-Datei nach einer bestimmten Leerlaufzeit mit VBA-Code


Um eine Excel-Datei nach einer bestimmten Leerlaufzeit automatisch zu speichern und zu schließen, gehen Sie wie folgt vor.

1. Öffnen Sie die Arbeitsmappe, die automatisch gespeichert und nach einer bestimmten Leerlaufzeit geschlossen werden soll. Drücken Sie dann die Taste Andere + F11 Tasten zusammen, um das zu öffnen Microsoft Visual Basic für Applikationen Fenster.

2. In dem Microsoft Visual Basic für Applikationen Fenster, doppelklicken Sie bitte auf DiesesWorkbook im rechten Fensterbereich, um das Code-Fenster zu öffnen. Kopieren Sie dann den VBA-Code und fügen Sie ihn in das Code-Fenster ein. Siehe Screenshot:

VBA-Code 1: Automatisches Speichern und Schließen einer Excel-Datei nach einer bestimmten Leerlaufzeit

Dim xTime As String
Dim xWB As Workbook

Private Sub Workbook_Open()
'Updated by Extendoffice 2019/1/20
    On Error Resume Next
    xTime = Application.InputBox("Please specify the idle time:", "KuTool For Excel", "00:00:20", , , , , 2)
    Set xWB = ActiveWorkbook
    If xTime = "" Then Exit Sub
    Reset
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    On Error Resume Next
    If xTime = "" Then Exit Sub
    Reset
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    On Error Resume Next
    If xTime = "" Then Exit Sub
    Reset
End Sub

Sub Reset()
    Static xCloseTime
    If xCloseTime <> 0 Then
        ActiveWorkbook.Application.OnTime xCloseTime, "SaveWork1", , False
    End If
    xCloseTime = Now + TimeValue(xTime)
    ActiveWorkbook.Application.OnTime xCloseTime, "SaveWork1", , True
End Sub

3. Dann klick weiter Einsatz > Modul, kopieren und fügen Sie den Code unterhalb des Modulfensters ein. Siehe Screenshot:

VBA-Code 2: Automatisches Speichern und Schließen einer Excel-Datei nach einer bestimmten Leerlaufzeit

Sub SaveWork1()
'Updated by Extendoffice 2019/1/20
    Application.DisplayAlerts = False
    ActiveWorkbook.Save
    ActiveWorkbook.Close
    
    Application.DisplayAlerts = True
End Sub

4. Drücken Sie die Taste Andere + Q Tasten gleichzeitig zum Schließen der Microsoft Visual Basic für Applikationen Fenster.

5 Klicken Reichen Sie das > Speichern unter > Entdecken. Siehe Screenshot:

6. In dem Speichern unter Wählen Sie im Dialogfeld einen Ordner zum Speichern der Datei aus, benennen Sie ihn im Feld Dateiname wie gewünscht und wählen Sie Excel Makroaktivierte Arbeitsmappe von dem speichern unter Typ Dropdown-Liste, und klicken Sie dann auf Angebot Taste. Siehe Screenshot:

Von nun an, jedes Mal, wenn dieses Arbeitsbuch geöffnet wird, a Kutools for Excel Das Dialogfeld wird geöffnet. Geben Sie die Uhrzeit ein, zu der Sie die Arbeitsmappe speichern und schließen möchten, und klicken Sie auf OK klicken.

Und die Arbeitsmappe wird automatisch gespeichert und nach dieser angegebenen Leerlaufzeit automatisch geschlossen. Siehe Screenshot:


Kutools for Excel löst die meisten Ihrer Probleme und steigert Ihre Produktivität um 80%

  • Wiederverwendung: Schnell einlegen komplexe Formeln, Diagramme und alles, was du vorher benutzt hast; Zellen verschlüsseln mit Passwort; Mailingliste erstellen und E-Mails senden ...
  • Super Formula Bar (Bearbeiten Sie mühelos mehrere Textzeilen und Formeln); Layout lesen (Leichtes Lesen und Bearbeiten einer großen Anzahl von Zellen); In gefilterten Bereich einfügen...
  • Zellen / Zeilen / Spalten zusammenführen ohne Daten zu verlieren; Inhalt der Zellen teilen; Kombinieren Sie doppelte Zeilen / Spalten... Doppelte Zellen verhindern; Bereiche vergleichen...
  • Wählen Sie "Duplizieren" oder "Eindeutig" Reihen; Wählen Sie Leere Zeilen (alle Zellen sind leer); Super Find und Fuzzy Find in vielen Arbeitsmappen; Zufallsauswahl ...
  • Exakte Kopie Mehrere Zellen ohne Änderung der Formelreferenz; Referenzen automatisch erstellen auf mehrere Blätter; Bullets einfügen, Kontrollkästchen und mehr ...
  • Extract Text, Text hinzufügen, Nach Position entfernen, Leerzeichen entfernen; Erstellen und Drucken von Paging-Zwischensummen; Zwischen Zelleninhalt und Kommentaren konvertieren...
  • Superfilter (Speichere und wende Filterschemata auf andere Blätter an); Erweiterte Sortierung nach Monat / Woche / Tag, Häufigkeit und mehr; Spezialfilter fett, kursiv ...
  • Arbeitsmappen und Arbeitsblätter kombinieren; Zusammenführen von Tabellen basierend auf Schlüsselspalten; Daten in mehrere Blätter aufteilen; Stapelkonvertierung von xls, xlsx und PDF...
  • Mehr als 300 leistungsstarke Funktionen. Unterstützt Office / Excel 2007-2019 und 365. Unterstützt alle Sprachen. Einfache Bereitstellung in Ihrem Unternehmen oder Ihrer Organisation. Kostenlose 30-Testversion für alle Funktionen.
Registerkarte Tab 201905

Registerkarte "Office" Bringt die Benutzeroberfläche mit Registerkarten in Office und vereinfacht Ihre Arbeit erheblich

  • Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
  • Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
  • Steigert Ihre Produktivität um 50% und reduziert täglich Hunderte von Mausklicks für Sie!
officetab unten
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    robert · 6 months ago
    Is there a way to make this work so even if you not on the sheet like click over to another window the timmer will still close that sheet? It seems like i have to stay on the file for it to work
  • To post as a guest, your comment is unpublished.
    Mark · 7 months ago
    I would recommend identifying the workbook with the workbook file name. This would allow the users to have multiple workbooks open and closing out only the specific workbook that needs to have the time lock.

    Suggestion: Set xwb = Workbooks("<file name>")
    instead of: Set xwb = ActiveWorkbook

    Also, replace all references to "ActiveWorkbook" to the Xwb in the module

    Great code otherwise.
    • To post as a guest, your comment is unpublished.
      Sammy · 4 months ago
      Hi Mark,

      Thanks for posting this amendment - found so many codes for closing inactive workbooks, but all of them seemed to affect the one you don't want to close!

      I'm very new to VBA, so I'm not sure how the code would work to replace the wording 'ActiveWorkbook' within the module. I've tried to replace the wording with 'Xwb' but that doesn't change anything and I may be being daft. Would you mind posting a copy of the code please?

      Thanks
    • To post as a guest, your comment is unpublished.
      crystal · 5 months ago
      Hi Mark,
      Thank you for sharing.
  • To post as a guest, your comment is unpublished.
    VR · 8 months ago
    This does not work when focus in on a particular cell in a sheet. Use case is when user is typing in a cell and leave the excel open with the cursor inside the cell.
    • To post as a guest, your comment is unpublished.
      Rehan · 7 months ago
      Were you able to find a fix for this by any chance?
  • To post as a guest, your comment is unpublished.
    henry · 11 months ago
    Hi Thanks loads for this code. Just one issue. It seems to try to close all open workbooks thus stalls if another workbook close is cancelled or not responded to. have you any touch-ups that can fix this?
    • To post as a guest, your comment is unpublished.
      crystal · 8 months ago
      Hi Henry,
      The code has been updated with the problem solving. Please have a try. Sorry for the inconvenience and thank you for your comment.
    • To post as a guest, your comment is unpublished.
      Gaston · 10 months ago
      I have the same issue... I tried to open a new workbook, and entered some data.... when the time came, both workbooks were closed, but the new one wasn´t saved... Is there a way to fix this?
      Besides that, it works great!! Thanks a lot!!
      • To post as a guest, your comment is unpublished.
        crystal · 8 months ago
        Hi Gaston,
        The code has been updated with the problem solving. Please have a try. Sorry for the inconvenience and thank you for your comment.