Der Code muss in "DieseArbeitsmappe". Doppelklick im VBA-Explorer
Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Beim Schließen der Datei wird das erste Tabellenblatt ein- und
'alle weiteren ausgeblendet.
Dim intSh As Integer
Sheets(1).Visible = True
For intSh = 2 To Worksheets.Count
Sheets(intSh).Visible = xlSheetVeryHidden
Next
'Die Datei wird minimiert, gespeichert und wieder maximiert.
ActiveWindow.WindowState = xlMinimized
ActiveWorkbook.Save
ActiveWindow.WindowState = xlMaximized
End Sub
Private Sub Workbook_Open()
Dim intSh As Integer
Dim blnOK As Boolean
Select Case VBA.Environ("USERNAME")
'hier können alle Zugriffsberechtigen hinterlegt werden.
'Es muss der Benutzername des Users im Netzwerk eingetragen werden.
Case Is = "Jack": blnOK = True
Case Is = "Jupp": blnOK = True
Case Is = "Tick": blnOK = True
Case Is = "Trick": blnOK = True
Case Is = "Track": blnOK = True
'hier bei Bedarf die Reihe fortsetzen.
Case Else
blnOK = False
End Select
If blnOK = False Then
ActiveWindow.WindowState = xlMinimized
MsgBox "Du bist für diese Datei nicht freigeschaltet!" & vbCr & _
"Bitte melde dich bei........", 64
ActiveWorkbook.Close
Else
For intSh = 1 To Worksheets.Count
Sheets(intSh).Visible = True
Next
Sheets(1).Visible = xlSheetVeryHidden
End If
End Sub