Die Unprotect-Methode des Worksheet-Objektes ist..
13.04.2007 08:12:26
Oberschlumpf
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