Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1836to1840
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 mit Bedingung sperren

Zellen mit Bedingung sperren
20.07.2021 20:14:09
Hofmann
Hallo liebe Community,
ich brauche bitte eure Unterstützung:
Ich habe eine Arbeitsmappe mit 49 Blättern. 48 der Blätter sind vollkommen identisch aufgebaut und hier möchte ich gerne folgende Funktion haben (Die 48 Blätter beginnen immer mit „KW“):
Ich kann in den Zeilen 26,30,34,38 Eintragungen vornehmen, jedoch diese nicht löschen, wenn die zweite Zeile vorher größer ist als die Zeile direkt vorher.
Beispiel:
A24 = 50
A25=40
A26= Eintragung vorhanden (z.B „1“) - diese kann nicht gelöscht werden
A24=40
A25=60
A26= Alles möglich
Die Besonderheit ist noch, dass ich in dem ersten Beispiel eine Eintragung in A26 zwar nicht löschen kann, aber eine Eintragung vornehmen kann, wenn die Zeile leer ist.
Die Mappe ist mit einem Blattschutz versehen.
Könnt ihr mir bitte weiterhelfen? Darüber würde ich mich sehr freuen!
Für die tolle Unterstützung der Community bedanke ich mich bereits recht herzlich im Voraus.
Liebe Grüße
Marko

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

Betreff
Datum
Anwender
Anzeige
AW: Zellen mit Bedingung sperren
21.07.2021 07:19:33
MCO
Moin, Marko!
In den Code von deinem Sheet kopier mal folgendes rein:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count  1 Then Exit Sub
ActiveSheet.Unprotect
'Bedingung ausführlich
'    If Target  "" And Target.Offset(-1, 0) > Target Then
'        Target.Locked = True
'    Else
'        Target.Locked = False
'    End If
'oder in 1 Zeile geschrieben
Target.Locked = Target  "" And Target.Offset(-1, 0) > Target
ActiveSheet.Protect
End Sub
Private Sub alle_Zellen_ohne_Schutz()
'1 Mal laufen lassen oder manuell alle Zellen entsperren
Cells.Locked = False
End Sub
Das sollte funktionieren wie gewünscht.
Gruß, MCO
Anzeige
AW: Zellen mit Bedingung sperren
21.07.2021 10:20:09
Hofmann
Danke für die Antwort! Leider funktioniert es nicht wie gewünscht.
Vielen Dank dafür! Ich habe festgestellt, dass man die Logik auch einfacher machen:
Können Zellen, die nicht gesperrt sind, beim öffnen der Datei gesperrt werden, wenn sie eine „1“ enthalten und zwei Zellen oberhalb größer ist als eine direkt davor.
Beispiel:
Sperre Zeile A26, wenn diese nicht gesperrt ist, eine eins enthält und a24 größer ist als a25? Und dies wenn ich die Datei öffne, nur eben für alle Zellen.
Danke für die erneute Unterstützung!
AW: Zellen mit Bedingung sperren
21.07.2021 11:33:12
MCO
Hallo!
Dann sollte das gehen:
Gehört in den Teil "Diese Arbeitsmappe"

Private Sub Workbook_Open()
Dim ber As Range
Dim eins As Range
ActiveSheet.Unprotect
Set ber = ActiveSheet.Cells.SpecialCells(xlCellTypeConstants)
For Each eins In ber
'eins.Locked = eins.Value = 1 And eins.Offset(-2, 0) > eins.Offset(-1, 0)
'oder ausführlich mit Färbung
If eins.Value = 1 And eins.Offset(-2, 0) > eins.Offset(-1, 0) Then
eins.Locked = True
eins.Interior.ColorIndex = 3
ElseIf eins.Value = 1 Then
eins.Interior.ColorIndex = 4
End If
Next eins
ActiveSheet.Protect
Set ber = Nothing
End Sub
Nebenbei:
Wenn deine Frage nicht erledigt ist, dann setzt das Häkchen oben, ansonsten guckt da kein Sack mehr nach!
Gruß, MCO
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige