Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1620to1624
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
Inhaltsverzeichnis

Blattschutz - für alle benutzten Zellen

Blattschutz - für alle benutzten Zellen
26.04.2018 11:43:45
Linda
Hi Zusammen,
ich möchte ein bestimmtes Sheet so programmieren, dass jedes mal, wenn ich es aufrufe der Blattschutz neu gesetzt wird und zwar so, dass alle Zellen die einen Inhalt haben (Formel oder Sonstiges)gesperrt werden. Nur LEERE Zellen dürfen noch gefüllt werden.
Mein Versuch stelle ich Euch rein. Leider werden immer alle Zellen gesperrt...

Private Sub Worksheet_Activate()
With ActiveSheet
'Blattschutz aufheben (Blattschutz ohne Passwort)
.Unprotect Password:= blabla
On Error Resume Next
'Zellen mit konstanten Werten (Zahlen, Text, Datumsangaben) sperren
.Cells.SpecialCells(xlCellTypeConstants).Locked = True
'Zellen mit Formeln sperren
.Cells.SpecialCells(xlCellTypeFormulas).Locked = True
'Blattschutz wieder setzen
On Error GoTo 0
.Protect Password:=blabla
End With
End Sub

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Blattschutz - für alle benutzten Zellen
26.04.2018 11:51:43
Beverly
Hi Linda,
du müsstest zuerst (einmalig) alle Zellen im Tabellenblatt entsperren, damit du anschließend bestimte Zellen sperren kannst.


AW: Blattschutz - für alle benutzten Zellen
26.04.2018 11:58:15
Linda
Hallo Karin,
das hilft leider auch nicht.
Habe gerade festgestellt, dass tatsächlich Zellen ungesperrt sind. Teilweise sogar Zellen die beschriftet werden. Andere Zellen, indenen nichts steht wiederum sind gesperrt....
AW: Blattschutz - für alle benutzten Zellen
26.04.2018 12:31:06
Beverly
Hi Linda,
du setzt den Blattschutz erst dann, wenn das Tabellenblatt aktiviert wird - dazu muss es erst einmal deaktiviert werden (also auf ein anderes Tabellenblatt gewchselt werden). Benutze stattdessen das Change-Ereignis des Tabellenblattes, denn dann wird der Code unmittelbar nach einer Eingabe ausgeführt.


Anzeige
AW: Blattschutz - für alle benutzten Zellen
26.04.2018 12:49:45
Linda
Hallo Karin,
daran liegt es leider nicht. Es funktioniert auch nicht, wenn ich zwischendurch das Tabellenblatt wechsel.
Es muss ein Fehler im Code sein.
AW: Blattschutz - für alle benutzten Zellen
26.04.2018 12:30:12
Linda
Ich habe noch eine neue Idee, die leider auch noch nicht funktioniert....
So ähnlich könnte das doch auch funktionieren oder nicht?

Private Sub Worksheet_Change()
If activerows  "" Then
activerows.Protect
End Sub

AW: Blattschutz - für alle benutzten Zellen
26.04.2018 12:51:25
Rudi
Hallo,
erst von Hand alle Zellen entsperren!
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range
Unprotect "bla"
For Each r In Target
r.Locked = r  ""
Next r
Protect "bla"
End Sub

Gruß
Rudi
Anzeige
AW: Blattschutz - für alle benutzten Zellen
26.04.2018 13:59:38
Linda
Hallo Rudi,
hab deine Formel genau so kopiert und alle Zellen manuell entperrt.
Es funktioniert leider nicht. D.h.weder der Blattschutz wird aktiviert, noch werden beschriebene Zellen in der Formatierung gesperrt.
AW: Blattschutz - für alle benutzten Zellen
26.04.2018 14:31:56
Linda
Sorry Rudi,
jetzt hätte ich doch noch eine Frage.
In Spalte D habe ich Zellen mit Dropdowns. Diese sollte ich nicht sperren.
Hast Du eine Idee, wie ich das lösen könnte?
Entweder ich gebe einen Bereich im Tabellenblatt vor z.B. deine Formel soll nur für den Bereich Spalte E bis Z gelten. Das würde gehen ich bin nur mit dem Code überfordert...
...oder ich kann Spalte D jedes mal entsperren...
....oder ich kann Dropdown vom Blattschutz ausnehmen (geht glaube ich nicht)
Anzeige
AW: Blattschutz - für alle benutzten Zellen
26.04.2018 14:53:01
Rudi
Hallo,
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range
Unprotect "bla"
For Each r In Target
r.Locked = r  ""
Next r
Columns(4).Locked = False
Protect "bla"
End Sub

AW: Blattschutz - für alle benutzten Zellen
26.04.2018 14:58:08
Linda
Funktioniert!!!!
Vielen Dank Rudi :-)
AW: Blattschutz - für alle benutzten Zellen
26.04.2018 14:17:43
Linda
Nachdem ich festgestellt habe, dass ein anderes Makro plötzlich auch nicht mehr funktioniert, habe ich meine Mappe geschlossen und neu geöffnet.
Der Code von Rudi funktioniert jetzt perfekt. Den Code von Beverly habe ich jetzt nicht nochmal getestet, ich vermute dieser funtioniert auch...
Ohje.....
Danke Euch beiden :)
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige