Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1444to1448
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Excel stürzt beim Beenden ab

Excel stürzt beim Beenden ab
27.08.2015 14:06:47
Thomas
Hallo Gemeinde,
folgendes Makro mit den Zielen
- Leseberechtigung
- Filterberechtigung
- automatische Passwortsetzung
- automatisches Filterrücksetzen
läuft sauber ab, jedoch stürzt Excel oftmals ab wenn mehrere Mappen geöffnet sind.
Beim Schließen dieser Mappe mit Makro stürzt Excel ab und muss neu gestartet werden. Die parallel hierzu geöffneten Mappen gehen dabei verloren bzw. müssen wiederhergestellt werden.
Was ist falsch an diesem Makro ?

Sub Workbook_Open()
Dim ws As Worksheet
Application.DisplayAlerts = True
For Each ws In Worksheets
ws.Unprotect Password:="xxx"
ws.EnableAutoFilter = True
ws.EnableOutlining = True 'ermöglicht Gruppierung/Gliederung
ws.Protect AllowFormattingColumns:=True 'ermöglicht Ausblenden/Einblenden von Spalten
ws.Protect AllowFormattingRows:=True 'ermöglicht Ausblenden/Einblenden von Zeilen
ws.Protect UserInterfaceOnly:=True, Password:="xxx"
Next ws
End Sub

Sub Workbook_BeforeClose(Cancel As Boolean)
Dim ws As Worksheet
Worksheets("a").Unprotect Password:="xxx"
If Worksheets("a").FilterMode Then Worksheets("a").ShowAllData
Worksheets("a").Protect Password:="xxx"
Worksheets("b").Unprotect Password:="xxx"
If Worksheets("b").FilterMode Then Worksheets("b").ShowAllData
Worksheets("b").Protect Password:="xxx"
If ActiveWorkbook.ReadOnly = True Then
For Each ws In ActiveWorkbook.Worksheets
ws.Protect Password:=xxx
ActiveSheet.Protect
Next ws
ActiveWorkbook.Close savechanges:=False
Exit Sub
Else:
For Each ws In ActiveWorkbook.Worksheets
ws.Protect Password:=xxx
ActiveSheet.Protect
Next ws
ActiveWorkbook.Close savechanges:=True
End If
End Sub

Besten Dank für Eure Hilfe
Viele Grüße
Thomas

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel stürzt beim Beenden ab
29.08.2015 14:00:56
Werner
Hallo Thomas,
ich bin sicher nicht der Excel oder VBA Experte, das mal vorab.
1. Warum ist der Code für die Blattschutzeinstellungen im Workbook open Event? Der gehört doch eigentlich ins Workbook bevor close Event. Beim Öffnen sind die entsprechenden Einstellungen dann da.
2. Bei dem Code

Worksheets("a").Unprotect Password:="xxx"
If Worksheets("a").FilterMode Then Worksheets("a").ShowAllData
Worksheets("a").Protect Password:="xxx"
entsperrst du erst das Blatt, zeigte alle Daten und sperrst das Blatt wieder. Ist das Entfernen und wieder Setzen des Blattschutzes hier überhaupt notwendig, beim eigentlichen Setzen des Blattschutzes lässt du das Filtern ja zu?
Und in dieser Schleife

For Each ws In ActiveWorkbook.Worksheets
ws.Protect Password:=xxx
ActiveSheet.Protect
Next ws
Durchläufst du doch alle Blätter und vergibst für jedes Blatt einen Blattschutz mit Passwort. Direkt danach vergibst du dann für das aktive Blatt noch mal einen Blattschutz ohne Passwort. Aber das aktive Blatt wird doch auch in der Schleife durchlaufen und geschützt, gehört ja auch zu For Each ws in Worksheets. Das wäre dann ja doppelt gemoppelt.
Ob Excel da vielleicht ins Stolpern gerät? Die Schleife kommt zum aktiven Blatt - schützt es mit Passwort - danach nochmal das gleiche Blatt ohne Passwort.
Übrigens bei diesem Code fehlen beim Passwort die " aber das war sicher ein Flüchtigkeitsfehler.
So interpretiere ich deinen Code. Bin aber selbst noch Anfänger in Sachen VBA.
Gruß Werner

Anzeige
AW: Excel stürzt beim Beenden ab
29.08.2015 14:25:36
Werner
Uuups, vergessen wieder auf offen zu stellen für die Experten
Werner

AW: Excel stürzt beim Beenden ab
31.08.2015 15:46:45
Thomas
Hallo Werner und alle anderen,
für User mit nur Leserechten muss ich, zumindest meines Wissens nach, leider so vorgehen. Auch die User mit nur Leserechten sollten Filtern und Zeilen/Spalten ausblenden dürfen. Deshalb muss ich erst das Passwort automatisch rücksetzen, Filtern etc. erlauben und dann das Passwort wieder setzen.
Die Passwörter sind in Anführungsstrichen, das war ein Übertragungsfehler.
Danke für Deinen Hinweis. Tatsächlich war die Schleife bei beforeclose doppelt gemoppelt.
Habe das Makro entsprechend angepasst und werde das mal die nächsten Tage testen.
Sub Workbook_Open()
Dim ws As Worksheet
For Each ws In Worksheets
ws.Unprotect Password:="xxx"
ws.EnableAutoFilter = True
ws.EnableOutlining = True 'ermöglicht Gruppierung/Gliederung
ws.Protect AllowFormattingColumns:=True 'ermöglicht Ausblenden/Einblenden von Spalten
ws.Protect AllowFormattingRows:=True 'ermöglicht Ausblenden/Einblenden von Zeilen
ws.Protect UserInterfaceOnly:=True, Password:="xxx"
Next ws
End Sub
Sub Workbook_BeforeClose(Cancel As Boolean)
Dim ws As Worksheet
Worksheets("blatt1").Unprotect Password:="xxx"
If Worksheets("blatt1").FilterMode Then Worksheets("blatt1").ShowAllData
Worksheets("blatt1").Protect Password:="xxx"
Worksheets("blatt2").Unprotect Password:="xxx"
If Worksheets("blatt2").FilterMode Then Worksheets("blatt2").ShowAllData
Worksheets("blatt2").Protect Password:="xxx"
If ActiveWorkbook.ReadOnly = True Then ActiveWorkbook.Close savechanges:=False
End Sub

Anzeige
AW: Excel stürzt beim Beenden ab
31.08.2015 16:37:04
Werner
Hallo Thomas,
wäre für eine kurze Rückmeldung, ob es daran lag oder nicht, dankbar.
Gruß Werner

AW: Excel stürzt beim Beenden ab
01.09.2015 15:54:54
Thomas
Hallo,
Fehler besteht noch immer.
Fehlermeldung lautet
"Microsoft Office Excel funktioniert nicht mehr
Windows kann versuchen, die Informationen wiederherzustellen und das Programm neu zu starten
Programm neu starten"
Hmmm... ? - jemand einen Tip ?
Grüße
Thomas

219 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige