Inkompatibilitäten "private sub workbook_open()"

riverphoenix

Grünschnabel
Hallo

ich hab in einem umfangreichen Excel (bei passwortgeschützten Dateiblättern) folgendes Makro drinne:

Private Sub Workbook_open()
Application.ScreenUpdating = False
For i = 1 To Sheets.Count
Sheets(i).Protect userinterfaceonly:=True
Sheets(i).EnableAutoFilter = True
Next i
End Sub

Auf fast allen PCs läuft das problemlos - nur auf einem mit WindowsXP kommt beim Starten die Aufforderung für jedes Blatt das Passwort einzugeben.
Tut man dieses nicht erscheint die vba Meldung"Laufzeitfehler" und die gewünschte Auto-Filterfunktion trotz Blattschutz funktioniert nicht.

Weiß eine/r woran das liegen kann - und vielleicht wie das zu beheben? :confused:

LG
Jens
 
Hallo Riverphoenix,

ich kann den Fehler leider auch nicht reproduzieren. Und vom Code her ist es sauber.
Aber erst mal wieder dumm gefragt:

- Was für ein Fehler und in welcher Zeile?
- Sind vielleicht die Optionen anders als auf den anderen Rechnern (wobei ich mich frage, welche Option das sein könnte)?
- Sind nicht dieselben Komponenten wie auf den anderen Rechnern installiert?

Gruß
ein fragendes Orakel
 
Hallo Orakel,

dank erst mal für die Ermutigung, das der Code an sich ok ist - bei mir aufm Rechner läuft ja er auch ganz unkompliziert und korrekt.
Inzwischen krieg ich aber von immer mehr Anwendern dieselbe Fehlermeldung - die letzte von einem bei dem es auf Mac nicht läuft!

Vielleicht kurz noch mal zur Struktur:
ich hab 12 Blätter, die alle per Passwort geschützt sind (der Nutzer kennt das Passwort nicht)
Um nicht benötigte Inhalte ausfiltern zu können, habe ich auf fast jeder Seite einen "Auto-Filter".
Da der Autofilter bei geschütztem Blatt bekanntlich nicht funktioniert, wollt ich ihn durch die genannte Routine trotzdem ermöglichen.

Ich selbst habe das ganze auf Einzelplatz Excel 2000 mit XP als Betriebssystem geboren - die anderen arbeiten zumeist mit neueren Versionen und in Firmennetzwerken.

Hilft das bei der Analyse?

Auf jeden Fall schon mal großen Dank und Gruß aus Berlin

Jens
 
Hi riverphoenix,

also bei mir läufts unter XP. Aber wenn ich das richtig verstanden habe, hast Du den Blattschutz bereits mit einem eigenen Passwort aktiviert. Lass mich morgen noch mal auf meinem Firmenrechner nachschauen.

Gruß
Das Orakel
 
Hallo Orakel,

ja alle Blätter sind durch meine Passworte geschütz.

Ich hab ja schon die Vermutung, wenn jemand das Makro selbst installiert...dann funktioniert es auch auf seinem rechner. Aber....wenn der nur irgendwie anders konfiguriert ist (oder andere Version) als meiner....versteht excel das makro nicht mehr richtig wenn er die von mir übermittelte version nutzt.

Ist sowas denkbar?

Ich kann dir sonst auch einen Ausschnitt mailen/ hochladen...falls deine Neugier so weit geht

Anyway...DANKE
 
Lösung

So erstmal ein großes Danke an Orakel für die Unterstützung!

Hier die Lösung:

Die Excel 2000 Version enthält einen Fehler, der es erlaubt, auf ein Blatt ohne Passwortabfrage zuzugreifen. In späteren Versionen ist dieser behoben - d.h. es werden korrekt die Passwörter abgefragt. (Was natürrlich dann wie ein Fehler aussieht.)

http://support.microsoft.com/default.aspx?scid=kb;en-us;213762

Lösung:

Private Sub Workbook_open()
Application.ScreenUpdating = False
Sheets("Blattname").Protect userinterfaceonly:=True, Password:="Passwort"
Sheets("Blattname").EnableAutoFilter = True

....usw. für die anderen Blätter

End Sub

Besten Gruß

river
 

Neue Beiträge

Zurück