Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zellen der Vorwoche zur Bearbeitung sperren

Zellen der Vorwoche zur Bearbeitung sperren
26.10.2024 18:21:49
Maverick_57
Hallo zusammen,
ich habe wieder mal ein Problem, das passende Makro zu erstellen :-(
Ich habe die Datei "Zeiterfassung_Test2.xlsm" hochgeladen, und die Problemstellung ist folgende:
Beispiel für die dritte Woche des Monats: der/die MitarbeiterIN klickt eine Zelle im grün umrahmten Bereich, daraufhin geht ein UserForm auf mit dem Hinweis, dass jetzt noch einmal die Daten der Vorwoche geändert werden können. Wird der Button "Ausführen" gedrückt, wird die Änderung übernommen, der rot umrahmte Zellbereich wird mit dem Sperrhaken in der Zellformatierung versehen, und das Arbeitsblatt wird geschützt.
Das soll jedoch nur beim ersten Anklicken einer Zelle im grünen Bereich erfolgen.

Diese Funktionalität soll dann immer in der nächsten KW einmal aktiv werden.

Einzelne Bausteine habe ich bereits am Laufen, allerdings fehlt mir das Wissen für den Part "immer-in-der neuen-Woche-aktivieren" und die Anwendung auf die vorhergehenden Zellen :-(

Vielen Dank im Voraus!

LG Rudi
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Zellen der Vorwoche zur Bearbeitung sperren
26.10.2024 19:26:09
Onur
"Ich habe die Datei "Zeiterfassung_Test2.xlsm" hochgeladen" - Wenn du aber den LINK dazu nicht hier postest, hat nur der Server etwas davon.
AW: Zellen der Vorwoche zur Bearbeitung sperren
28.10.2024 10:33:34
MCO
Moin Rudi!

Ich weiß nicht, ob es für dich noch aktuell ist, aber die Lösung sieht so aus:

Im Modul des Tabellenblattes:

Option Explicit

' Objekt zu Tabelle2 (Mastermonat)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Z_Datum As Date
Dim Wochent As Single

If Target.Count > 1 Then Exit Sub
Z_Datum = Cells(Target.Row, 1)

If WorksheetFunction.IsoWeekNum(Z_Datum) = WorksheetFunction.IsoWeekNum(Date) _
And Range("C" & Target.Row - 7).Locked = False Then
UserForm1.Show
End If

End Sub


Im Code der Userform:


Private Sub CommandButton1_Click()
Application.EnableEvents = False
On Error Resume Next
ActiveSheet.Unprotect "Dein Passwort"

For i = 7 To 38
Z_Datum = Cells(i, 1)
If WorksheetFunction.IsoWeekNum(Z_Datum) WorksheetFunction.IsoWeekNum(Date) Then 'Datum Vorwoche
Application.Union(Range("C" & i & ":E" & i), Range("L" & i & ":N" & i)).Locked = True
ElseIf WorksheetFunction.IsoWeekNum(Z_Datum) >= WorksheetFunction.IsoWeekNum(Date) Then 'Datum >= Vorwoche: Ausstieg
Exit For
End If
Next i

ActiveSheet.Protect "Dein Passwort"
Application.EnableEvents = True
UserForm1.Hide
End Sub


"Dein Passwort" musst du natürlich anpassen.
Außerdem hab ich Sonntags einfach mit gesperrt.

In deinem Upload sind allerdings alle Zellen noch gesperrt, die gehören natürlich erstmal freigegeben!
Außerdem kann diese Lösung nur für Datumse ab der 2ten Woche gelten, da zur ersten Woche die Vergleichsdaten fehlen.

Viel Erfolg!
Gruß, MCO
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige