Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1448to1452
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

Zeilen Schützen wenn sie drei tage alt sind.

Zeilen Schützen wenn sie drei tage alt sind.
17.09.2015 14:13:12
Stefan
Hallo ich habe folgendes Problem.
Ich suche einen Code der mir die Zeile schützt wenn in der A Spalte in gleicher Zeile das Datum älter ist als 3 Tage.
Also in den Zeilen 2 bis unendlich werden fortlaufend Ergebnisse eingetragen.Immer wenn ein ergebnis eingetragen wird, erscheint in Spalte A der betreffenden Zeile das aktuelle Datum. Also steht in Spalte A Fortlaufend ein anderes Datum. Wenn Die Ergebnisse älter als drei Tage sind, soll es die Zeile schützen und somit nachträgliche manipulation verhindern.
Zusätzlich soll aber Spalte A, G, I dauerhaft geschützt sein. bzw. beim start geschützt sein.
Ist das möglich?
Sorry es lässt sich immer so doof erklären was man will.
Ich hoffe es ist halbwegs verständlich.

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen Schützen wenn sie drei tage alt sind.
17.09.2015 15:05:47
JoWE
Hallo Stefan,
alle Zellen sind standardmäßig mit der Eigenschaft "gesperrt" versehen (Zelle formatieren - Schutz). Die Sperre ist wirksam, wenn der Blattschutz gesetzt wird. Für Deinen Zweck ist zunächst für alle Zellen in die etwas eingetragen werden darf die Eigenschaft "gesperrt" aufzuheben.
Weiter benötigt Du ein Makro welches beim Eintreten des SelectionChange-Ereignisses die Daten in der Spalte A mit dem aktuellen Datum abgleicht und bei Zutreffen Deiner Bedingung für alle Zellen der betroffenen Zeilen die Eigenschaft "gesperrt" setzt. Dazu muss das Makro den Blattschutz setzen, dann die Änderungen vornehmen (die Eigenschaft "gesperrt" setzen) und schließlich den Blattschutz wieder aktivieren.
z.B. so:
'*******************************************************************************************
'Prozedur in der Tabelle
Private Sub Worksheet_Change(ByVal Target As Range)
Dim sh As Worksheet
Dim rng As Range
Dim PW As String
PW = "passwort"
Set sh = Worksheets("Tabelle1") 'anpassen
Set rng = sh.Range("A2:A" & sh.Cells(sh.Rows.Count, 1).End(xlUp).Row)
'on error got fRoutine
With sh
.Unprotect Password:="passwort"
For Each ze In rng
If ze.Value = Date - 3 Then
.Rows(ze.Row).Locked = True
End If
Next
.Protect Password:="passwort", DrawingObjects:=True, Contents:=True, Scenarios:=True
End With
Exit Sub
'fRoutine:
'hier eine Fehlerbehandlung einbauen
End Sub
Gruß
Jochen
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige