Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
06.09.2017 21:26:03 |
durace |
|
|
Arbeitsblatt nach Ablauf eines Datums sperren |
07.09.2017 02:00:11 |
Ben |
|
|
|
07.09.2017 09:06:00 |
Durace |
|
|
Von:
Ben |
Datum:
07.09.2017 02:00:11 |
Views:
577 |
Rating:
|
Antwort:
|
Thema:
Arbeitsblatt nach Ablauf eines Datums sperren |
Halo,
vielleicht ist dieser Code hilfreich?
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim wsh As Worksheet
Dim nm As Name
Dim rngChk As Range
Dim bProtect As Boolean
Dim iMonth As Integer
If TypeName(Sh) = "Worksheet" Then
Set wsh = Sh
Set nm = GetName(wsh, "Eingaben")
If Not nm Is Nothing Then
iMonth = GetMonthFromWsh(wsh)
If Not iMonth = 0 Then
If iMonth >= Month(Date) Or (Day(Date) <= 5 And iMonth + 1 = Month(Date)) Then
bProtect = False
Else
bProtect = True
End If
wsh.Unprotect
For Each rngChk In nm.RefersToRange.Cells
rngChk.Locked = bProtect
Next
wsh.Protect
End If
End If
End If
End Sub
Function GetMonthFromWsh(wsh As Worksheet) As Integer
Dim iMonth As Integer
For iMonth = 1 To 12
If wsh.Name = Format(DateSerial(Year(Date), iMonth, 1), "MMMM") Then
GetMonthFromWsh = iMonth
End If
Next
End Function
Function GetName(wsh As Worksheet, sName As String) As Name
Dim nm As Name
For Each nm In wsh.Names
If nm.Name = wsh.Name & "!" & sName Then
Set GetName = nm
End If
Next
End Function
Dieser Code muss im VBA-Editor in "Diese Arbeitsmappe" eingefügt werden.
Kurze Erläuterung:
Beim Aktivieren einer Tabelle wird diese geprüft und bei Bedarf die Zellen im Bereich "Eingaben" gesperrt.
Vorbereitend muss in jede Tabelle ein Bereich mit dem Namen "Eingaben" benannt werden. Alle Zellen dieses Bereichs werden bei Bedarf gesperrt bzw. freigegeben.
LG, Ben
|
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
06.09.2017 21:26:03 |
durace |
|
|
Arbeitsblatt nach Ablauf eines Datums sperren |
07.09.2017 02:00:11 |
Ben |
|
|
|
07.09.2017 09:06:00 |
Durace |
|
|