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:
850
Rating: Antwort:
 Nein
Thema:
Tabellenblätter nur für einzelne User zugänglich machen

ungefähr so:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
'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

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
'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