Moin,
ich habe in einem Formular eine Kombobox eingefügt, welche, je nach dem welche Auswahl man trifft, die Tabellenköpfe eines Sheets anpasst.
Das Sheet ist Schreibgeschützt.
Ich habe es jetzt so gelöst, dass ich beim Klick auf die ComboBox den Zellschutz deaktiviere:
Private Sub ComboBox1_DropButtonClick()
'Zellschutz deaktivieren:
ActiveSheet.Unprotect Password:="123456"
End Sub
Danach habe ich festgelegt, was passieren soll, sobald auf eine Auswahl in der Combobox geklickt wird
Private Sub ComboBox1_Click()
If ComboBox1.Value = "Bitte auswählen" Then
Worksheets("Tabellenköpfe").Rows("40:47").Copy Rows("12:19")
ElseIf ComboBox1.Value = "Intern" Then
Worksheets("Tabellenköpfe").Rows("12:21").Copy Rows("12:19")
ElseIf ComboBox1.Value = "Extern" Then
Worksheets("Tabellenköpfe").Rows("22:31").Copy Rows("12:19")
ElseIf ComboBox1.Value = "OneSRM" Then
Worksheets("Tabellenköpfe").Rows("32:39").Copy Rows("12:19")
End If
ActiveSheet.Protect Password:="123456", DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowSorting:=True
End Sub
Das Tabellenblatt wird entsperrt und er überschreibt die gewünschten Zeilen, sperrt das Tabellenblatt aber nicht wieder.
Erst wenn ich eine MsgBox in die in die Combobox1_Click funktion einbaue, aktiviert er den Blattschutz wie gewünscht, sobald ich diese wieder rausnehme ignoriert er den Sheet.Protect Teil.
Hat irgendjemand eine Ahnung, woran das liegen könnte, bzw wie ich ihn ohne MsgBox dazu bringe die Zellen nach der If-Anweisung wieder zu sperren?
Vielen Dank schonmal für eure Hilfe
Martin
|