Clever-Excel-Forum

Normale Version: Case Funktion + Environ
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo ich versuche für ein Arbeitsprojekt verschiedene Excelsheets einer Mappe nur für bestimmte Nutzer visible zu machen, das habe ich bisher: Excel 2013

Private Sub Workbook_Open()
Select Case Environ("username")

Case Is = "Tom"
Worksheets("blatt1").Visible = True
Worksheets("blatt2").Visible = xlVeryHidden

Case Is = "Max"
Worksheets("blatt1").Visible = xlVeryHidden
Worksheets("blatt2").Visible = True

Case Else
Worksheets("blatt1").Visible = xlVeryHidden
Worksheets("blatt2").Visible = xlVeryHidden

End Select

End Sub

Mein Problem ist nur, dass das eigentlich für "Tom" funktioniert, "Max" jedoch sieht auch Blatt 1 und nichrt wie im Code gewollt nur Blatt 2

kann mir jemand helfen, wäre echt super!!
Hallo,

ändere die Reihenfolge des Aus-/Einblendens der Blätter. Eins muss immer sichtbar sein/bleiben.

Gruß Uwe
Danke für die schnelle Antwort, 
du meinst, dass z.B bei Max

Worksheets("blatt2").Visible = True
Worksheets("blatt1").Visible = xlVeryHidden

steht?
Ja
wie kann ich denn zusammenfassend schreiben, dass zb ein Benutzer zugriff auf alle seiten haben soll?

und:
wie kann ich schrieben dass ein benutzer zb nur zugriff auf eine seite haben soll aber auf alle anderen nicht?

vielen dank schonmal
Hallöchen,

Zitat:wie kann ich denn zusammenfassend schreiben, dass zb ein Benutzer zugriff auf alle seiten haben soll?
wie kann ich schrieben dass ein benutzer zb nur zugriff auf eine seite haben soll aber auf alle anderen nicht?

Du schreibst es so wie bei den anderen ...

Oder

- nimm einen Code ins BeforeSave, der alle Blätter bis auf eins, welches jeder sehen darf (z.B. ein leeres), ausblendet
- schreibe ein Makro, welches in Abhängigkeit der Anwender die Blätter einblendet. Ausblenden brauchst Du darin ja nicht. Dieses Makro rufst Du aus dem Workbook_Open und dem AfterSave auf.

BeforeSave ist wichtig, falls mal einer mit seinem eingeblendeten Blatt speichert und der nächste keine Makros ausführt.

Sperre darüber hinaus das VBA-Projekt