Blattschutz aufheben ohne Erfolg...

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Blattschutz aufheben ohne Erfolg...
von: Simon
Geschrieben am: 02.03.2005 09:52:15
Hallo zusammen,
ich habe mal wieder ein kleines Problem, welches mich fast zur Verzweiflung bringt *grrr*. Ich hoffe ihr könnt mir da aus der Patsche helfen....
Ich habe ein Sheet, dessen Zellen meist geschützt sind, jedoch vom User her durch ComboBoxen mit Inhalt gefüllt werden sollen. Nun wollte ich das ganze per VBA folgendermaßen lösen:


Private Sub cbo1_Change()
ActiveSheet.Unprotect "password"
ActiveSheet.Calculate
Range("J10").Select
Selection.Copy
Range("D16").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
        xlNone, SkipBlanks:=False, Transpose:=False
ActiveSheet.Calculate
ActiveSheet.Select
ActiveSheet.Protect "password"
End Sub

Feld D16 ist folgendermaßen das Feld mit den Auswahlmöglichkeiten. Nun passiert jedoch folgendes: Wenn das Blatt ungeschützt ist, kann ich aus der ComboBox einen Eintrag wählen und er wird auch in die Zelle übernommmen und der Blattschutz daraufhin aktiviert. So weit so gut. Das wars dann aber auch schon. Wenn ich nun (im geschützen Blatt) erneut eine Auswahl treffe: "Blatt ist geschützt und kann nicht geändert werden....." D.h. der Schutz wird nicht rausgenommen :-(
Könnt ihr mir da evtl. weiterhelfen? Langsam zweifle ich an mir selbst :-)
Viiiielen Dank schonmal im voraus und viele Grüße
Simon
Bild

Betrifft: AW: Blattschutz aufheben ohne Erfolg...
von: c0bRa
Geschrieben am: 02.03.2005 10:01:11
hallo...
also ich weiß nicht wo dein problem ist, bei mir funktioniert dein code ohne probleme...
ich hab J10 ungeschützt gemacht und geb da werte ein... via commandbutton setz ich dann deine funktion ein und er kopiert den wert nach D16 und aktiviert auch den blattschutz wieder...
das funktioniert auch, wenn ich jetzt in J10 einen neuen wert eingebe und erneut auf den commandbutton drück...
https://www.herber.de/bbs/user/19071.xls
entweder missverstehen wir uns, oder aber du hast ein anderes problem, was nicht mit dem hier in verbindung steht (z.b.: irgenein anderes makro was da querschlägt)

Das Forum lebt auch von Rückmeldungen...
c0bRa
Bild

Betrifft: AW: Blattschutz aufheben ohne Erfolg...
von: Simon
Geschrieben am: 02.03.2005 12:21:13
Hallo c0bRa,
hallo Serge
danke für die schnelle Info. Mit dem Command Button ist es tatsächlich kein Problem.
Auch mit dem anderen Code. Aber schaut Euch das mal mit einer ComboBox an.
Da kommt genau das Problem. Auch wenn nur das eine Makro aktiv ist und sonst nichts stört. Habt Ihr dazu evtl. eine Lösung???
Gruß Simon
Bild

Betrifft: AW: Blattschutz aufheben ohne Erfolg...
von: Serge
Geschrieben am: 02.03.2005 10:11:19
Hi Simon
bei mir klappt es mit:

ActiveSheet.Protect password:="MeinPassword", DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.Unprotect password:="MeinPassword"
Probier es mal
Serge
Bild

Betrifft: AW: Blattschutz aufheben ohne Erfolg...
von: Simon
Geschrieben am: 02.03.2005 15:29:11
Hallo c0bRa,
hallo Serge
danke für die schnelle Info. Mit dem Command Button ist es tatsächlich kein Problem.
Auch mit dem anderen Code. Aber schaut Euch das mal mit einer ComboBox an.
Da kommt genau das Problem. Auch wenn nur das eine Makro aktiv ist und sonst nichts stört. Habt Ihr dazu evtl. eine Lösung???
Gruß Simon
Bild

Betrifft: AW: Blattschutz aufheben ohne Erfolg...
von: Simon
Geschrieben am: 02.03.2005 17:39:43
Hallo nochmal zusammen,
das Problem besteht nun glücklicherweise nicht mehr. Um den Blattschutz wirklich zu entfernen, bevor der Eintrag erfolg war es notwendig einen 2. Sub einzubauen:

Private Sub cbo1_DropButtonClick()
ActiveSheet.Unprotect ("passwort")
Range("d16").ClearContents
End Sub

D.h. wenn der User den ComboField Button betätigt wird der Schutz aufgehoben und die Zielzelle wird geleert. Dann folgt der 2. Sub:

Private Sub cbo1_Change()
ActiveSheet.Calculate
Range("K10").Select
Selection.Copy
Range("D16").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
        xlNone, SkipBlanks:=False, Transpose:=False
ActiveSheet.Protect ("passwort")
End Sub

Der User wählt einen Eintrag aus und dann wird das Blatt auch wieder geschütz.
Haken an der Sache: Wenn der User den button für die Auswahl betätigt und KEINEN Eintrag wählt, sondern rausklickt, wird der Unprotect Befehl trotzdem ausgeführt, d.h. der User hat nun ein ungeschütztes Blatt.
Das soll er nicht haben. Wie kann man per Code zur Auswahl eines Wertes der ComboBox "zwingen"???
Habt Dank für Eure Hilfe....
Viele Grüße
Simon
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Blattschutz aufheben ohne Erfolg..."