Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
768to772
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
768to772
768to772
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Dynamische Zellensperrung

Dynamische Zellensperrung
31.05.2006 15:37:29
Sebastian
Hallo Wissende,
Mal aus Neugierde:
Kann mna ein Worksheet per Makro so schützen, dass die Felder in denen bereits Eingaben vorhanden sind, sperrt, während man die anderen freigibt?
Und das bei jedem Start des Workbooks dynamisch wieder freigegeben bzw. gesperrt wird?
D.h. ich möchte zwar, dass an diese Datei durch den User Dateien hinzugefügt werden dürfen, aber keine gelöscht. Und es soll allgemein verboten sein, Spalten einzufügen.
Hat jemand eine Idee?

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dynamische Zellensperrung
31.05.2006 16:26:46
u_
Hallo,
prinzipiell so:

Private Sub Workbook_Open()
With Sheets(1)
.Unprotect
With .UsedRange
.SpecialCells(xlCellTypeConstants).Locked = True
.SpecialCells(xlCellTypeFormulas).Locked = True
.SpecialCells(xlCellTypeBlanks).Locked = False
End With
.Protect
End With
End Sub
Gruß
Geist ist geil!
(Dies ist ein allgemeines Statement und nicht an bestimmte Personen gerichtet.)
AW: Dynamische Zellensperrung, besser:
31.05.2006 16:31:41
u_
Hallo,

Private Sub Workbook_Open()
With Sheets(1)
.Unprotect
With .Cells
.Locked = True  'alle sperren
.SpecialCells(xlCellTypeBlanks).Locked = False  'leere freigeben
End With
.Protect
End With
End Sub

Gruß
Geist ist geil!
(Dies ist ein allgemeines Statement und nicht an bestimmte Personen gerichtet.)
Anzeige
AW: Dynamische Zellensperrung, besser:
31.05.2006 17:01:11
Franz
Hallo Unwissender,
das grundsätzliche Problem einer Makrolösung ist, das der Anwender die Ausführung von Makros sperren kann. Ansonsten kann man den bereits gemachten oder diesen ähnlichen Vorschlag verwenden.
Private Sub Workbook_Open()
Dim wks As Worksheet, Zelle As Range
For Each wks In ThisWorkbook
wks.Unprotect
For Each Zelle In wks.UsedRange
If Not IsEmpty(Zelle) And Zelle.Locked = False Then Zelle.Locked = True
Next
wks.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Next
End Sub

Gruß
Franz

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige