Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1016to1020
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

Zellen sperren

Zellen sperren
15.10.2008 14:14:31
Bruehmi
Ich suche eine Möglichkeit, zB Zellen M1-S1 zu sperren, wenn in J1 ein x steht. Auch, Zellen M1-O1 + R-S1 sperren, wenn in J1 y steht...
Habe bei meiner Rechereche folgendes gefunden:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" And Target = 2 Then
ActiveSheet.Unprotect
Target.Locked = True
ActiveSheet.Protect
End If
End Sub


Jedoch weiß ich leider nicht, wie ich das umformulieren müsste...
Danke,
Bruehmi

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen sperren
15.10.2008 17:14:50
JogyB

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$J$1" Then
ActiveSheet.Unprotect
' alle Zellen entsperren, sollen ja nur die angegebenen Zellen gesperrt werden
' Das müßtest Du rausnehmen, wenn Du schon selbst festgelegt hast,
' was gesperrt sein soll und was nicht
Cells.Locked = False
' Zellen sperren, je nach Buchstaben in der Zelle
Range("$M$1:$O$1").Locked = (Target.Value = "x" Or Target.Value = "y")
Range("$R$1:$S$1").Locked = (Target.Value = "x" Or Target.Value = "y")
Range("$P$1:$Q$1").Locked = (Target.Value = "x")
ActiveSheet.Protect
End If
End Sub


Gruss, Jogy

Anzeige
AW: Zellen sperren
15.10.2008 17:34:00
fcs
Hallo Bruehmi,
wenn du in J1 den Wert "x" oder "y" oder was anderes einträgst, um das Sperren der Zellen zu steuern, dann kannst du die prozedur etwa wie folgt anpassen.
Wird der Wert in J1 per Formel berechnet, dann muss du alle Zellen/Zellbereiche überwachen, die in der Formel verwendet werden.
Gruß
Franz

Private Sub Worksheet_Change(ByVal Target As Range)
Dim lngZeile As Long, lngSpalte As Long
Select Case Target.Column
Case 10 'Spalte J auf Eingaben überwachen
'ggf. Prüfung für Zeilennummer ergänzen/anpassen
If Target.Row = 1 Then
ActiveSheet.Unprotect
lngZeile = Target.Row
lngSpalte = 10
If LCase(Cells(lngZeile, lngSpalte)) = "x" Then
'in Zeile Spalten M bis S sperren
Range(Cells(lngZeile, 13), Cells(lngZeile, 19)).Locked = True
ElseIf LCase(Target.Value) = "y" Then
'in Zeile Spalten M bis O sperren
Range(Cells(lngZeile, 13), Cells(lngZeile, 15)).Locked = True
'in Zeile Spalten P bis Q entsperren
Range(Cells(lngZeile, 16), Cells(lngZeile, 17)).Locked = False
'in Zeile Spalten R bis S sperren
Range(Cells(lngZeile, 18), Cells(lngZeile, 19)).Locked = True
Else
'in Zeile Spalten M bis S entsperren
Range(Cells(lngZeile, 13), Cells(lngZeile, 19)).Locked = False
End If
End If
ActiveSheet.Protect
Case Else
'do nothing
End Select
End Sub


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige