Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
860to864
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
860to864
860to864
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

860to864: Die Unprotect-Methode des Worksheet-Objektes ist..

Die Unprotect-Methode des Worksheet-Objektes ist..
13.04.2007 08:12:26
Oberschlumpf
(fast alle Versionen - betrifft bisher nur XL 97, XP und vllt 2000)
Hallo Leute
Habe dieses Problem:
Hintergrund:
Habe zuerst in Excel XP ein Programm geschrieben, welches überwiegend in Excel 97 laufen soll.
Nachdem ich merkte, dass für 97 zu viele Anpassungen gemacht werden mussten, damit es auch in 97 läuft, hab ich Excel 97 nachinstalliert, und die Datei dann nur noch in 97 programmiert.
Die Datei läuft auf meinem PC problemlos - in beiden Versionen.
Problem:
Auf bisher einem PC erscheint hin und wieder diese Fehlermeldung:
Laufzeitfehler 1004: Die Unprotect-Methode des Worksheet-Objektes ist fehlerhaft.
Ich kenne leider noch nicht die Version auf dem PC - vermute aber XL 2000.
Der Code, der diesen Fehler verursacht, sieht so aus:

Sub ProtectNo()
Dim liIndex As Integer
On Error GoTo Fehler
With ThisWorkbook
For liIndex = 1 To .Sheets.Count
.Sheets(liIndex).Unprotect "pw"
Next
End With
Exit Sub
Fehler:
Call FehlerHandling(Err.Number, Err.Description, "ProtectNo", ActiveCell.Address)
End Sub
Um Zellwerte zu ändern, wird halt temporär pauschal für jedes Tabellenblatt der Blattschutz entfernt.
Diese Lösung finde ich einfacher, als im Code so zu navigieren, dass immer nur der Blattschutz für das zu ändernde Tabellenblatt entfernt und wieder gesetzt wird.
Im
S u b ProtectYes wird dann nach Änderung der Blattschutz wieder gesetzt.
Frage:
Im Archiv fand ich diesen Beitrag, der meinem Problem am nächsten kommt, denke ich:
https://www.herber.de/forum/archiv/256to260/t256760.htm
Da dieser Beitrag aber schon ca. 4 Jahre zurück liegt, weiß von euch vllt jemand eine Lösung, _
mit der eine vllt Versions-Inkombatibilität umgehbar ist.
Vielen Dank für eure Antworten.
Ciao
Thorsten

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Die Unprotect-Methode des Worksheet-Objektes ist..
13.04.2007 18:34:53
IngGi
Hallo Thorsten,
aus Rainers Antwort auf den von dir angeführten älteren Beitrag schließe ich, dass das Problem wohl immer dann entsteht, wenn ein Blatt unter Excel2000 oder ExcelXP geschützt wird und der Schutz dann anschließend unter Excel97 wieder aufgehoben werden soll.
Dieses Problem sollte sich dadurch umgehen lassen, dass vor dem Schließen der Arbeitsmappe bei allen Blättern der Blattschutz aufgehoben und beim Öffnen der Arbeitsmappe wieder gesetzt wird. So ist sichergestellt, dass der Blattschutz immer in derselben Excelversion gesetzt und wieder aufgehoben wird.
Gruß Ingolf

Anzeige
AW: Die Unprotect-Methode des Worksheet-Objektes ist..
13.04.2007 20:39:59
Oberschlumpf
Hallo Ingolf
Ja, vielen Dank!
Das, was du schreibst, ergibt Sinn, und ich werde den Code gleich mal so umschreiben, dass jeglicher Blattschutz vorm Schliessen der Datei entfernt wird, und direkt nach dem Öffnen - egal mit welcher Version - gleich wieder gesetzt wird.
So ist dieses Problem vielleicht keins mehr.
Ciao
Thorsten

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige