Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1324to1328
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zugriffsberechtigung je nach Benutzernamen

Zugriffsberechtigung je nach Benutzernamen
26.07.2013 11:28:27
Daniel
Hallo zusammen,
ich habe folgenden Code in eine Excel Datei eingefügt.
Funktioniert wunderbar, für die 3 User die angelegt sind.
Wenn nun aber jemand anderes die Datei öffnet sieht er alle Tabellenblätter.
Wie muss ich den Code ergänzen, dass jeder (außer den 3 Personen) das Tabellenblatt "Fehler" angezeigt bekommt?
Private Sub Workbook_Open()
Dim wks As Worksheet
Dim strName() As String
Dim lngIndex As Long
Application.ScreenUpdating = False
Select Case UCase(Environ("Username"))
Case "USER1"
ReDim strName(0)
strName(0) = "a"
Case "USER2"
ReDim strName(5)
strName(0) = "a"
strName(1) = "b"
strName(2) = "c"
strName(3) = "d"
strName(4) = "e"
strName(5) = "f"
Case "USER3"
ReDim strName(2)
strName(0) = "x"
strName(1) = "y"
strName(2) = "z"
Case Else
Exit Sub
End Select
ThisWorkbook.Worksheets(strName(0)).Visible = xlSheetVisible
For Each wks In ThisWorkbook.Worksheets
If wks.Name  strName(0) Then wks.Visible = xlSheetVeryHidden
Next
For lngIndex = 1 To UBound(strName)
ThisWorkbook.Worksheets(strName(lngIndex)).Visible = xlSheetVisible
Next
Application.ScreenUpdating = True
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zugriffsberechtigung je nach Benutzernamen
26.07.2013 11:37:43
UweD
Hallo
dann musst du beim Schliessen alle Tabellen ausser "Fehler" ausblenden
und speichern.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim wks
For Each wks In ThisWorkbook.Worksheets
If wks.Name  "Fehler" Then wks.Visible = xlSheetVeryHidden
Next
ThisWorkbook.Save
End Sub
Gruß UweD

AW: Zugriffsberechtigung je nach Benutzernamen
26.07.2013 12:08:44
Daniel
Danke, das sieht schon mal gut aus. Läuft aber auf Fehler wenn ich versuche die Datei zu schließen.
Ich glaube, weil das Blatt "Fehler" im Normal-Fall ausgeblendet ist?

AW: Zugriffsberechtigung je nach Benutzernamen
26.07.2013 12:21:46
Rudi
Hallo,
blende es vorher ein.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim wks
Sheets("Fehler").Visible = xlSheetVisible
For Each wks In ThisWorkbook.Worksheets
If wks.Name  "Fehler" Then wks.Visible = xlSheetVeryHidden
Next
ThisWorkbook.Save
End Sub

Gruß
Rudi

Anzeige
AW: Zugriffsberechtigung je nach Benutzernamen
26.07.2013 12:31:05
Daniel
Macht auch Sinn ;)
Jetzt bringt er nur den Fehler, dass die Visible Eigenschaft des Worksheet Objekts nicht festgelegt werden kann.
Tut mir leid, ich stell mich hier vielleicht etwas blöd an. Aber ich komm nicht drauf :)

AW: Zugriffsberechtigung je nach Benutzernamen
26.07.2013 12:36:32
Daniel
Okay, irgendwie hab ich es hinbekommen, dass es ohne Fehler läuft.
Habe anstelle von
If wks.name  

geschrieben:
If not wks.name = 
Dachte nicht, dass es einen Unterschied macht, aber es kommt kein Fehler mehr.
Herzlichen Dank für die Hilfe!
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige