Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1552to1556
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
Zellen sperren, wenn...
11.04.2017 17:17:45
Christian
Hallo Zusammen,
mir wurde hier schon vielfach wunderbar weitergeholfen. Heute benötige ich für folgende Situation Unterstützung:
Wenn in Spalte BV in einer Zeile ab Zeile 18 eine 0 steht, sollen die Spalten K bis BR der gleichen Zeile gesperrt sein - natürlich nach Aktivierung des Blattschutzes. Es ist nicht erforderlich, dass dieses nach jeder Eingabe überprüft wird, sondern einmalig, wenn ich das Tabellenblatt ansteuere.
Ich habe mich bereits selbst versucht, über die locked=true Funktion, scheitere aber immer wieder.
Wer kann mir den richtigen Tipp geben?
Vielen Dank und viele Grüße
Christian

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen sperren, wenn...
11.04.2017 17:51:06
ChrisL
Hi Christian
Was spricht gegen eine normale Gültigkeitsprüfung?
cu
Chris
AW: Zellen sperren, wenn...
11.04.2017 17:54:34
Christian
Hi Chris,
es geht dabei um die Berechtigung, Änderungen herbeizuführen. Die zu sperrenden Zellen sind bereits mit Inhalt gefüllt. Das schließt sich dann doch aus, oder?
Viele Grüße
Christian
AW: Zellen sperren, wenn...
11.04.2017 18:12:53
ChrisL
Hi Christian
Man könnte mutig sein und es einfach mal testen, aber leider ist meine Excel soeben abgestürzt ;)
benutzerdefinierte Bedingung
=$BV18=0
Stoppmeldung
cu
Chris
AW: Zellen sperren, wenn...
11.04.2017 18:32:45
Christian
Hi nochmal,
unabhängig vom Mut haben einige Zellen bereits eine Dropdown-Auswahl. Daher komme ich damit glaube ich nicht weiter.
Daher freue ich mich über jeden anderen Hinweis.
Viele Grüße
Christian
Anzeige
AW: Zellen sperren, wenn...
11.04.2017 18:47:22
ChrisL
Hi Christian
OK, bereits belegte Gültigkeitsprüfung ist ein Argument. Spätestens morgen gibts etwas mit VBA für dich...
bd
Chris
AW: Zellen sperren, wenn...
12.04.2017 08:24:32
ChrisL
Hi Christian
Vielleicht so...
Private Sub Worksheet_Activate()
Dim iZeile As Long
With ActiveSheet
.Unprotect
For iZeile = 18 To .Cells(Rows.Count, 1).End(xlUp).Row
If .Cells(iZeile, 74) = 0 And .Cells(iZeile, 74)  "" Then
.Range(.Cells(iZeile, 11), .Cells(iZeile, 70)).Locked = True
Else
.Range(.Cells(iZeile, 11), .Cells(iZeile, 70)).Locked = False
End If
Next iZeile
.Protect
End With
End Sub
cu
Chris
Anzeige
AW: Zellen sperren, wenn...
13.04.2017 10:53:28
Christian
Hallo Chris,
leider komme ich jetzt erst zum Testen. Es funktioniert!
Jetzt ist mir dabei allerdings aufgefallen, dass ich in einigen Spalten Formeln stehen habe, deren Zellen dann nicht mit .locked = false freigegeben werden sollen. Kann man das noch einschränken?
Vielen Dank!
Christian
AW: Zellen sperren, wenn...
13.04.2017 11:05:42
ChrisL
Hi Christian
Man könnte die Spalten ganz am Schluss einfach noch sperren...
Private Sub Worksheet_Activate()
Dim iZeile As Long
With ActiveSheet
.Unprotect
For iZeile = 18 To .Cells(Rows.Count, 1).End(xlUp).Row
If .Cells(iZeile, 74) = 0 And .Cells(iZeile, 74)  "" Then
.Range(.Cells(iZeile, 11), .Cells(iZeile, 70)).Locked = True
Else
.Range(.Cells(iZeile, 11), .Cells(iZeile, 70)).Locked = False
End If
Next iZeile
    .Columns(20).Locked = True
.Protect
End With
End Sub
cu
Chris
Anzeige
AW: Zellen sperren, wenn...
13.04.2017 11:10:31
Christian
Hallo Chris,
das wäre ja schon sehr kleinteilig und bei jeder Spaltenveränderung anzupassen. Ich hatte gehofft, dass es da eine einschränkende Bedingung mit Formel oder so gibt?
Viele Grüße
Christian
AW: Zellen sperren, wenn...
13.04.2017 12:41:56
ChrisL
Hi Christian
Du bist ja ziemlich anspruchsvoll ;)
Private Sub Worksheet_Activate()
Dim iZeile As Long, i As Integer
With ActiveSheet
.Unprotect
For iZeile = 18 To .Cells(Rows.Count, 1).End(xlUp).Row
If .Cells(iZeile, 74) = 0 And .Cells(iZeile, 74)  "" Then
.Range(.Cells(iZeile, 11), .Cells(iZeile, 70)).Locked = True
Else
For i = 11 To 70
If .Cells(iZeile, i).HasFormula Then
.Cells(iZeile, i).Locked = True
Else
.Cells(iZeile, i).Locked = False
End If
Next i
End If
Next iZeile
.Protect
End With
End Sub
cu
Chris
Anzeige
AW: Zellen sperren, wenn...
13.04.2017 13:12:05
Christian
Hallo Chris,
das anspruchsvolle gebt Ihr ja mit Eurer großartigen Expertise vor, oder?:)
Vielen Dank - es funktioniert - S E N S A T I O N E L L!
Viele Grüße
Christian
AW: Zellen sperren, wenn...
11.04.2017 19:58:05
Werner
Hallo Christian,
da stellt sich noch folgende Frage:
können in BV18 bis BV? auch mehrere 0 vorhanden sein?
Gruß Werner
AW: Zellen sperren, wenn...
12.04.2017 07:21:16
Christian
Hallo Werner,
ja, ganz vorne in jeder Zeile ist ein Name eingegeben. Wenn sich dieser Name zu dem User unterscheidet, ist der Inhalt der gleichen Zeile in BV eine 0 und damit vor Änderungen zu sperren. Ansonsten ist in BV eine 1, also bei leeren Zeilen oder bei Namens- und Usergleichheit.
Vielen Dank für Euer Engagement!
Viele Grüße
Christian
Anzeige
AW: Zellen sperren, wenn...
12.04.2017 07:21:20
Christian
Hallo Werner,
ja, ganz vorne in jeder Zeile ist ein Name eingegeben. Wenn sich dieser Name zu dem User unterscheidet, ist der Inhalt der gleichen Zeile in BV eine 0 und damit vor Änderungen zu sperren. Ansonsten ist in BV eine 1, also bei leeren Zeilen oder bei Namens- und Usergleichheit.
Vielen Dank für Euer Engagement!
Viele Grüße
Christian

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige