Thema Datum  Von Nutzer Rating
Antwort
08.02.2021 11:04:40 ThraliaMeiv
NotSolved
08.02.2021 12:59:17 Gast90560
Solved
08.02.2021 13:10:57 Gast90792
Solved
Blau Tabellenblätter nur für einzelne User zugänglich machen
08.02.2021 13:58:26 Gast43616
Solved
08.02.2021 14:01:12 Gast64134
Solved
09.02.2021 11:00:20 ThraliaMeiv
Solved
09.02.2021 11:57:57 Gast59860
NotSolved
08.02.2021 13:06:33 Gast90560
Solved
08.02.2021 13:11:58 ThraliaMeiv
Solved

Ansicht des Beitrags:
Von:
Gast43616
Datum:
08.02.2021 13:58:26
Views:
666
Rating: Antwort:
 Nein
Thema:
Tabellenblätter nur für einzelne User zugänglich machen

ungefähr so:

 

'Klassen Modul: ThisWorkbook / DieseArbeitsmappe
Option Explicit

Private Sub Workbook_AfterSave(ByVal Success As Boolean)
  Call modView.UpdateView
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
  Call modView.UpdateView(CoverSheetOnly:=True)
End Sub

Private Sub Workbook_Open()
  Call modView.UpdateView
End Sub

 

'Modul: modView
Option Explicit

Public Sub UpdateView(Optional CoverSheetOnly As Boolean = False)
  
  Dim blnSupervisor As Boolean
  Dim blnEmployee As Boolean
  Dim strUsername As String
  
  strUsername = LCase$(Environ$("username"))
  
  'LCase = Benutzername in Kleinbuchstaben
  Select Case strUsername
    ' # Mitarbeiter
    Case "inge"
      blnEmployee = True
    ' # Vorgesetzte
    Case "peter"
      blnSupervisor = True
    ' # alle anderen
    Case Else
      blnSupervisor = False
      blnEmployee = False
  End Select
  
  Dim wks As Excel.Worksheet
  
  If blnSupervisor Then
    'alle Blätter anzeigen
    For Each wks In ThisWorkbook.Worksheets
      wks.Visible = xlSheetVisible
    Next
  ElseIf blnEmployee Then
    'Deckblatt anzeigen
    tblCoverSheet.Visible = xlSheetVisible
    'spezifisches Blatt von Mitarbeiter anzeigen
    ' Blätter aller anderen Mitarbeiter verbergen
    For Each wks In ThisWorkbook.Worksheets
      If wks.Name <> tblCoverSheet.Name Then
        If 0 = StrComp(wks.Name, strUsername, vbTextCompare) _
        And CoverSheetOnly = False _
        Then
          wks.Visible = xlSheetVisible
          wks.Activate
        Else
          wks.Visible = xlSheetVeryHidden
        End If
      End If
    Next
  Else
    'Deckblatt anzeigen
    tblCoverSheet.Visible = xlSheetVisible
    'alle anderen Blätter verbergen
    For Each wks In ThisWorkbook.Worksheets
      If wks.Name <> tblCoverSheet.Name Then
        wks.Visible = xlSheetVeryHidden
      End If
    Next
  End If
  
End Sub

 

PS: Sei dir bitte darüber im Klaren, dass das nicht 100%ig sicher ist - das kann durchaus umgangen werden (wer das darauf anlegt, der findet einen Weg).

Sicher wäre nur, wenn du jedem Mitarbeiter seine eigene Mappe gibst.

 

Grüße


Ihre Antwort
  • 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: Name: Email:



  • 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
08.02.2021 11:04:40 ThraliaMeiv
NotSolved
08.02.2021 12:59:17 Gast90560
Solved
08.02.2021 13:10:57 Gast90792
Solved
Blau Tabellenblätter nur für einzelne User zugänglich machen
08.02.2021 13:58:26 Gast43616
Solved
08.02.2021 14:01:12 Gast64134
Solved
09.02.2021 11:00:20 ThraliaMeiv
Solved
09.02.2021 11:57:57 Gast59860
NotSolved
08.02.2021 13:06:33 Gast90560
Solved
08.02.2021 13:11:58 ThraliaMeiv
Solved