Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
08.02.2021 11:04:40 |
ThraliaMeiv |
|
|
|
08.02.2021 12:59:17 |
Gast90560 |
|
|
|
08.02.2021 13:10:57 |
Gast90792 |
|
|
Tabellenblätter nur für einzelne User zugänglich machen |
08.02.2021 13:58:26 |
Gast43616 |
|
|
|
08.02.2021 14:01:12 |
Gast64134 |
|
|
|
09.02.2021 11:00:20 |
ThraliaMeiv |
|
|
|
09.02.2021 11:57:57 |
Gast59860 |
|
|
|
08.02.2021 13:06:33 |
Gast90560 |
|
|
|
08.02.2021 13:11:58 |
ThraliaMeiv |
|
|
Von:
Gast43616 |
Datum:
08.02.2021 13:58:26 |
Views:
840 |
Rating:
|
Antwort:
|
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
|
- 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
|
|
08.02.2021 11:04:40 |
ThraliaMeiv |
|
|
|
08.02.2021 12:59:17 |
Gast90560 |
|
|
|
08.02.2021 13:10:57 |
Gast90792 |
|
|
Tabellenblätter nur für einzelne User zugänglich machen |
08.02.2021 13:58:26 |
Gast43616 |
|
|
|
08.02.2021 14:01:12 |
Gast64134 |
|
|
|
09.02.2021 11:00:20 |
ThraliaMeiv |
|
|
|
09.02.2021 11:57:57 |
Gast59860 |
|
|
|
08.02.2021 13:06:33 |
Gast90560 |
|
|
|
08.02.2021 13:11:58 |
ThraliaMeiv |
|
|