VBA automatisch speichern und schließen Problem
#1
Grüß euch,

ich brauch wieder mal eure Hilfe  Blush

Wir haben ein Excel File, auf dieses viele Leute zugreifen.
Da es ein paar Vorfälle gab und es gewisse Leute den ganzen Tag das File offen haben, hab ich mich an das File gesetzt.

kurze Beschreibung der Probleme:
  • Spalten wurden gelöscht/ hinzugefügt
  • gewisse Zellen wurden gelöscht/umbenannt usw
  • File den ganzen Tag offen
Da ich VBA Neuling bin, hab ich mal das Internet durchforstet und mir gewisse Sachen raus gesucht.

Lösungen für die Probleme:
  • Das Blatt wird geschützt, aber nur gewisse Funktionen bzw Zellen sind gesperrt (mittels VBA, da die Gliederung noch funktionieren soll)
  • Nach 5 Minuten ohne Eingaben (im Test File 2 Minute) kommt ein Button mit Autoclose
  • wird dieser nicht gedrückt (20 Sek Timer), wird das File gespeichert und automatisch geschlossen
  • Damit man Makros aktivieren muss, blende ich beim Speichern die richtigen Sheets aus und es wird nur das Makro Sheet gezeigt

Wir sind mit dem File soweit zufrieden, es funktioniert eigentlich alles --> bis auf:
Wenn man das File selbst schließt, öffnet es sich nach einer gewissen Zeit wieder.

Ich vermute mal, dass der Timer nicht deaktiviert wird und sich das File deswegen wieder öffnet.
Hin und wieder öffnet sich das File und schließt sich wieder, manchmal kommt er dann mit einem Error im VBA Code.
Hier ist das Problem, dass es bereits richtig gespeichert wurde (alles ausblenden bis auf Makro Sheet) und beim 2. Versuch kommt ein Fehler.


Habt ihr eine Idee, wie ich das Problem (automatisch wieder öffnen) lösen kann?
Anbei das Beispiel File.

Ach ja, eine freigegebene Mappe wollen wir nicht daraus machen.
Das haben wir bei einem anderen File und hier gibt es immer wieder mal Probleme.
Es werden auch verschiedene Office Versionen verwendet (von 2013 bis 365), falls das relevant ist.

Vielen Dank im Voraus


Angehängte Dateien
.xlsm   File.xlsm (Größe: 27,88 KB / Downloads: 6)
Top
#2
Hallo,
ich konnte Deine Effekte nicht nachvollziehen (auto öffnen), habe aber das BeforeClose m.Meinung nach sinnvoller gemacht, vielleicht hilft es:

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
   Application.ScreenUpdating = False
   Sheets("Makro").Visible = xlSheetVisible
   Sheets("Test").Visible = xlVeryHidden
   Application.ScreenUpdating = True
   On Error Resume Next
   Application.OnTime CheckClose, "AutoClose", , False
   If Not ThisWorkbook.Saved Then ThisWorkbook.Save
End Sub
Gruß der AlteDresdner (Win11, Off2021)
[-] Folgende(r) 1 Nutzer sagt Danke an AlterDresdner für diesen Beitrag:
  • Hohle
Top
#3
Guten Morgen,
Dankeschön, es funktioniert  :18:


Das Auto Öffnen ist nicht immer gleich (warum auch immer).
Aber mir ist zumindest aufgefallen, dass es bei mir meistens passiert, sobald noch ein Excel File offen war.
Ich vermute mal, da der Excel Prozess nicht geschlossen wird, ist der Timer weiter gelaufen.
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste