Anzeige
Archiv - Navigation
1956to1960
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

Schreibschutz / Blattschutz nach Datum aufheben

Schreibschutz / Blattschutz nach Datum aufheben
09.01.2024 07:16:59
Lukas
Guten Morgen,

ich habe eine Excel Datei mit 12 Reitern. Je Monat im Jahr gibt es einen Reiter. In jedem Reiter können sich Personen eintragen und damit Gegenstände reservieren. Z. B. kann sich Person A im Reiter 06 bei Gegenstand Auto als ausleihende Person für den Monat Juni eintragen.

Nun ist es so, dass ich Reservierungen nur 3 Monate im Voraus ermöglichen möchte. Eine Person soll im Januar also maximal bis April eine Reservierung vornehmen. Der Reiter 05 soll erst am 01.02. für Eintragungen freigegeben werden.

Nun könnte ich natürlich manuell jeden Monat einen neuen Reiter erstellen. Ich möchte den Bearbeitungsaufwand jedoch gering halten und die Excel Datei gleich für das ganze Jahr machen. Gibt es eine Möglichkeit Reiter zu sperren (z. B. mit Blattschutz) und eine Funktion oder andere Möglichkeit, die diese Reiter immer am 01. des neuen Monats automatisch entsperrt?

Danke für die Unterstützung!

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schreibschutz / Blattschutz nach Datum aufheben
09.01.2024 09:57:30
MCO
Moin!

Blattschutz hab ich da jetzt mal nicht als Lösung angesehen, kannst es natürlich aber im code einbauen.

Lösung 1

Alle Sheets ausblenden, für die noch keine Reservierung gemacht werden darf:
Private Sub Workbook_Open()

For i = 2 To Sheets.Count
Sheets(i).Visible = i Month(Date) + 3
Next i
End Sub


Lösung 2

die Eingabe auf dem Sheet auf Zulässigkeit prüfen und rückgängig machen.
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)


If Sh.Index > Month(Date) + 3 Then
MsgBox "verboten"
With Application
.EnableEvents = False
.Undo
.EnableEvents = True
End With
End If
End Sub


Beide Codes gehören ins Modul "Diese Arbeitsmappe"

Viel Erfolg!
Gruß, MCO
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige