Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1656to1660
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

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!

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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige