Private Sub Workbook_Activate()
Workbook_SheetActivate ActiveSheet
End Sub
Private Sub Workbook_Deactivate()
For k = 1 To 255
Application.OnKey "{" & k & "}"
Next k
End Sub
Private Sub Workbook_Open()
Workbook_SheetActivate ActiveSheet
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim Datum As Range
Set Datum = Sh.Range("D5")
If IsDate(Datum) And Datum < Date Then
Sh.Unprotect "passwort"
Sh.Cells.Locked = True
Sh.Protect Password:="passwort"
If Sh.ProtectContents Then
Meldung
End If
End If
End Sub
Sub Meldung()
Dim k As Integer, passwort As String
Do
passwort = InputBox("Dieser Monat ist gesperrt. " _
& "Geben Sie das korrekte Passwort ein. ")
If passwort <> "" Then
On Error GoTo Fehler
ActiveSheet.Unprotect passwort
On Error GoTo 0
End If
Loop Until Not ActiveSheet.ProtectContents Or passwort = ""
If passwort = "" Then
For k = 1 To 255
Application.OnKey "{" & k & "}", "DieseArbeitsmappe.Meldung"
Next k
Else
For k = 1 To 255
Application.OnKey "{" & k & "}"
Next k
End If
Exit Sub
Fehler:
MsgBox "Das eingegebene Passwort ist ungültig"
Resume Next
End Sub
|