Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Benutzerberechtigung anhand Excel-Tabelle

Forumthread: Benutzerberechtigung anhand Excel-Tabelle

Benutzerberechtigung anhand Excel-Tabelle
21.11.2018 18:42:28
Andy
Hallo alle zusammen,
ich habe eine Frage an Euch. Bislang habe ich eine Benutzerabfrage mit dem Makro

Sub Berechtigungen ()
With Worksheets("Tabelle1")
If WorksheetFunction.CountIf(.Range("A1:A10"), Environ("Username")) > 0 Then
Else
End if
End With
End Sub

abgefragt. Jetzt hat sich allerdings etwas geändert und man müsste quasi eine Berechtigungsstufe (Arbeitsmappe nur Lesen/Schreiben erlaubt/Admin sieht alle Registerkarten) zum Benutzer abfragen.
Diesbezüglich habe die Benutzernamen (=gleich Windows-Anmeldename) in den Feldern A1 bis A10 eingetragen. In den Feldern B1:B10 befinden sich zum Benutzer zugehörig seine Berechtigungsstufe (bsp. A1:Müller B1:Lesen, A2:Meier B2:Schreiben, A3:Hans B3:Admin)
Wie müsste ich mein Skript umschreiben, damit er angesichts der Berechtigungsstufe Lesen / Schreiben / Admin jeweils etwas anderes ausführt.
Quasi nach dem Motto: Wenn Benutzer in Liste dann prüfe Berechtigung im Feld nebenan, wenn admin dann mache dies, wenn schreibberechtigung, dann das, wenn leseberechtigung dann das. Wenn nicht in Liste beende das Programm ohne speichern.
Für Eure Hilfe bereits jetzt besten dank!
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Benutzerberechtigung anhand Excel-Tabelle
21.11.2018 21:41:40
Robert
Hallo Andy,
nur als Hinweis:das ist ein ganz einfacher Schutz, der leicht auszuhebeln ist. Aber wenn Du das so machen möchtest, wäre folgendes vielleicht eine Lösung:
Sub Berechtigungen()
Dim varZ, strBerechtigung As String
With Worksheets("Tabelle1")
'Zeile mit Nutzername ermitteln
varZ = Application.Match(Environ("Username"), Range("A1:A10"), 0)
If IsError(varZ) Then  'Nutzername nicht in Tabelle1 eingetragen
MsgBox "Unbekannter Nutzer", vbCritical, "Zugriff verweigert"
Else
'Berechtigung für Nutzer ermitteln
strBerechtigung = .Range("B" & varZ)
Select Case UCase(strBerechtigung)
Case "LESEN"
MsgBox "Nutzer " & Environ("Username") & " darf nur lesen", vbInformation
Case "SCHREIBEN"
MsgBox "Nutzer " & Environ("Username") & " darf lesen und schreiben", vbInformation
Case "ADMIN"
MsgBox "Nutzer " & Environ("Username") & " ist Admin", vbInformation
Case Else
MsgBox "Die angegebene Berechtigung " & strBerechtigung & " gibt es nicht", vbCritical
End Select
End If
End With
End Sub

Statt den einzelnen MsgBox kannst Du Deinen Code je nach Berechtigungsstufe ausführen.
Gruß
Robert
Anzeige
AW: Benutzerberechtigung anhand Excel-Tabelle
22.11.2018 10:30:32
Andy
Hallo Robert,
ich weiß, dass das kein besonderer Schutz ist. Dennoch für unsere Zwecke ausreichend.
Hat geklappt, genau das suche ich. Vielen Dank!
Gerne und Danke für die Rückmeldung (owT)
22.11.2018 14:10:53
Robert
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige