VBA-Profis benötigt...........:-)
29.01.2006 18:48:50
MUC
Ziel: nur Windows-User "mitarbeiter-alles1" oder "mitarbeiter-alles2" dürfen alle Arbeitsmappen sehen.
alle Anderen Windows-Usern wird nur ihre eigene Arbeitsmappe angezeigt, die so heisst wieder der jeweilige Windows-User.
Problem: Ich kann folgenen Fehler nicht reproduzieren. Es soll so sein, dass nur die schlusstabelle angezeigt wird, falls die Frage ob makros aktivieren am Anfang mit nein beantwortet wird.
Ab und an erscheinen, auch wenn man die Makros deaktiviert alle Arbeitsmappen; und das bei einem User der eigentlich nur seine eigenes Tabellenblatt sehen sollte.
Meistens klappt es und es erscheint bei deaktivierten Makros nur die Schlusstabelle.
Erkennt jemand von euch woran das liegen könnte? Ich kann keinen Fehler erkennen?!
Vielen dank
Marco.
_________________________________________________________________________
Option Explicit
Private Sub workbook_open()
Dim objSh As Worksheet
Dim unam As String
Dim blnAccess As Boolean
Application.ScreenUpdating = False
unam = Environ("Username")
If unam = "mitarbeiter-alles1" Or unam = "mitarbeiter-alles2" Then
For Each objSh In Me.Worksheets
objSh.Visible = xlSheetVisible
Next
blnAccess = True
Else
For Each objSh In Me.Worksheets
If objSh.Name = unam Then
objSh.Visible = xlSheetVisible
blnAccess = True
Else
objSh.Visible = xlSheetVeryHidden
End If
Next
End If
If blnAccess Then
Sheets("schlusstabelle").Visible = xlSheetVeryHidden
Else
MsgBox "Unerlaubter Zugriff!"
Me.Close False
End If
Application.ScreenUpdating = True
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.ScreenUpdating = False
Sheets("schlusstabelle").Visible = True
Dim i As Byte
For i = 1 To Sheets.Count
If Sheets(i).Name <> "schlusstabelle" Then _
Sheets(i).Visible = xlVeryHidden
Next i
Application.ScreenUpdating = True
End Sub