problem mit ActiveSheet.Protect
hallo,
ich hoffe hier kann mir mal jemand auf die Sprünge helfen. Ich möchte, dass in Abhängigkeit einer Textboxeingabe, ein bestimmter Bereich meines Arbeitsblatts nicht gesperrt wird.
Dies ist mein Code dafür:
Private Sub textbox1_Change()
ActiveSheet.Unprotect
ActiveSheet.Protect userinterfaceonly:=True
i = TextBox1.Text
Range(Cells(i / 2 + i + 4 + 1, 3), Cells(i / 2 + i + 4 + i / 2 * (i / 2 - 1) / 2, 4)).Locked = False
End Sub
Grundsätzlich funktioniert er auch, aber wenn ich z.B.erst eine große Zahl verwende, und im nächsten Durchgang eine kleinere, dann ist weiterhin der große Bereich nicht gesperrt.
ich kann mir nun aber nicht erklären, wie das kommt. Durch ActiveSheet.Protect userinterfaceonly:=True wird doch erstmal das komplette Blatt für Zugriffe gesperrt, und dann wird mein Bereich wieder freigegeben. Oder lieg ich da völlig daneben?
Gruß
Dominik
Antwort schreiben
Antwort 1 von Hajo_Zi vom 11.07.2020, 16:40 Options
Hallo Dominik,
Du solltest zuerst die gesamte Tabelle Locked =True.
Es werden die Bereiche die beim ersten Durchlauf freigeschaltet hast nicht zurück gesetzt.
Gruß Hajo
Antwort 2 von DerTeufel vom 11.07.2020, 16:50 Options
Danke,
jetzt funktioniert´s :)