habe ein Auto-Open hier wird geprüft ob der "User" berechtigt ist zu öffnen, läuft einwandfrei.
Makro:
Function IstBerechtigtOeffnen() As Boolean
Dim rng As Range, i As Integer
With Sheets("Lager")
Set rng = .Range(.Cells(10, 16), .Cells(48, 16).End(xlUp))
End With
For i = 1 To rng.Rows.Count
If LCase(rng.Cells(i, 1)) = LCase(Environ("Username")) Then
IstBerechtigtOeffnen = True
Exit Function
End If
Next
End Function
Private Sub Workbook_Open()
If Not IstBerechtigtOeffnen Then
MsgBox "Sie haben keine Berechtigung, " & Chr(13) _
& Chr(13) & "die Datei zu ÖFFNEN ! " & Chr(13) _
& Chr(13) & " " & Chr(13) _
& Chr(13), 48, " Hinweis !"
Exit Sub
Else
End Sub
Nun möchte ich danach prüfen lassen ob der Anwender der öffnet auch berechtigt ist die Datei zu öffnen,
könnte sonst eine Datei vom Kollegen sein.
Hierzu steht in der Zelle "Q8" = L00, L01, L03, L04 etc.
dazu habe ich diese Liste erstellt WER berechtigt sein soll:
'---------------------------------------------------------------------
Function IstBerechtigtOeffnenWeiter() As Boolean
Dim rng As Range, i As Integer
With Sheets("Lager")
Set rng = .Range(.Cells(10, 21), .Cells(30, 21).End(xlUp))
End With
'For i = 1 To rng.Rows.Count
' If LCase(rng.Cells(i, 1)) = LCase(Environ("Username")) Then
'If rng = "Name" Then
IstBerechtigtOeffnenWeiter = True
Exit Function
End If
Next
End Function
Die Namen werden sichtbar mit einer Formel: =WENN($Q$8="L00";"wwaber";"")
wenn also der Anwender nicht in der Liste (Spalte) steht, soll ebenfalls verweigert werden.
Also kein Username sondern nur die Namen in der Liste
Set rng = .Range(.Cells(10, 21), .Cells(30, 21).End(xlUp))
vergleichen.
kann mir jemand einen Tip geben ?
mfg Walter MB