Hi,
es wird ja wohl vermutlich jeder Benutzer einen eigenen Netzwerk-Einloggnamen haben.
Dann kann mit dem folgenden Makro der Zugriff für jeden Nutzer nur auf sein Blatt begrenzt werden.
Es gibt noch ein Blatt Übersicht (das ist Tabelle1), das für alle angezeigt wird.
Microsoft Excel Objekt DieseArbeitsmappeOption Explicit
Private Sub Workbook_Open()
Dim s As String
Dim i As Long
s = VBA.Environ("Username")
'MsgBox (s)
With Application
.ScreenUpdating = False
.DisplayAlerts = False
End With
With ThisWorkbook 'Tabellen, Bereiche und Formularschaltflächen ausblenden, je nach Account
Select Case LCase(s) 'unabhängig von der Großschreibung
Case "user1"
For i = 2 To Sheets.Count
.Sheets(i).Visible = False
Next i
.Sheets("User1").Visible = True
.Sheets("User1").Activate
'.Sheets("Übersicht").Range("1:46").EntireRow.Hidden = False
'.Sheets("Übersicht").Range("48:60").EntireRow.Hidden = True
'.Sheets("Übersicht").DrawingObjects("Button 1").Visible = True
Case "user2"
For i = 2 To Sheets.Count
.Sheets(i).Visible = False
Next i
.Sheets("User2").Visible = True
.Sheets("User2").Activate
Case "user3"
For i = 2 To Sheets.Count
.Sheets(i).Visible = False
Next i
.Sheets("User3").Visible = True
.Sheets("User3").Activate
'Case "... 'und so weiter
Case Else
'Datei schreibgeschützt öffnen
'Ausdruck.Open(FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad)
Application.DisplayAlerts = False
' Workbooks.Open ThisWorkbook.FullName, , True
For i = 2 To Sheets.Count
.Sheets(i).Visible = False
Next i
End Select
End With
With Application
.DisplayAlerts = True
.ScreenUpdating = True
End With
End Sub