Anzeige
Archiv - Navigation
1544to1548
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

Blattschutz durch Festlegung von Administratoren

Blattschutz durch Festlegung von Administratoren
10.03.2017 16:54:19
Administratoren
Hallo Excel-Community,
ich probiere mich gerade an einem VBA-Code zum Thema Blattschutz aus, bekomme aber den Ansatz für den Code nicht hin. Es geht um eine Arbeitsmappe mit 4 Registerblättern. Eines davon (Registerblatt "org") enthält administrative und dokumentarische Daten. Hier sollen in den Zellen A5 bis A101 Windows-Benutzerkennungen "manuell" (nicht automatisiert!) eingetragen werden. Nur wer hier als Nutzer eingetragen ist, soll einen schreibenden Zugriff auf das besagte Registerblatt "org" bekommen. Alle anderen Nutzer sollen auf dieses Blatt nur lesenden Zugriff haben. Passwörter sollen nicht eingesetzt werden. Der schreibende Zugriff soll lediglich über die manuell eingetragenen Nutzer gesteuert werden.
Ich habe ein paar Code-Ansätze mit der ENVIRON-Funktion gefunden ...
Dim User as Variant
User = Environ ("USERNAME")
... anschließend mit einer If/Then-Funktion für den USERNAME ...
oder mit "Const cAllowedUser", aber das hat mich bisher nicht zum Ziel gebracht.
Habt Ihr mir hierzu einen Tipp oder einen Codevorschlag ?
Besten Dank !
Flo

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Blattschutz durch Festlegung von Administratoren
10.03.2017 21:17:10
Administratoren
Hi,
Das in Sub Workbook_Open eingeben

Private Sub Workbook_Open()
Dim user
Dim vb As Variant
Dim rng As Range
Sheets("org").Protect
user = Environ("USERNAME")
Set rng = Sheets("org").Range("A5:A101")
Set vb = rng.Find(what:=user, lookat:=xlWhole)
If Not vb Is Nothing Then Sheets("org").Unprotect
End Sub

AW: Blattschutz durch Festlegung von Administratoren
13.03.2017 17:15:45
Administratoren
Hallo onur,
wie könnte ich noch in der Sub die Definition zur Groß- und Kleinschreibung des "USERNAME" integrieren ? Also sprich, es sollen bzw. dürfen nur großgeschriebene Benutzernamen in der Range ("A5:A101") verwendet werden.
Danke und Grüße,
Flo
Anzeige
AW: Blattschutz durch Festlegung von Administratoren
13.03.2017 17:19:43
Administratoren
a$=UCASE(a$)
wandelt alles in grossbuchstaben um.
AW: Blattschutz durch Festlegung von Administratoren
13.03.2017 17:23:47
Administratoren
Danke ! Wo könnte ich diesen Teil denn in den Code einbauen ?
Private Sub Workbook_Open()
Dim user
Dim vb As Variant
Dim rng As Range
Sheets("org").Protect
user = Environ("USERNAME")
Set rng = Sheets("org").Range("A5:A101")
Set vb = rng.Find(what:=user, lookat:=xlWhole)
If Not vb Is Nothing Then Sheets("org").Unprotect
End Sub

AW: Blattschutz durch Festlegung von Administratoren
13.03.2017 17:29:31
Administratoren
Mit einer Hilfsspalte (z.B.) rechts von der Liste kannst du dafür sorgen, dass alle Usernamen groß geschrieben sind - mit der formel:

=GROSS(ZS(-1))
Du musst nur das Makro dann in dieser Spalte suchen lassen.
Anzeige
AW: Blattschutz durch Festlegung von Administratoren
13.03.2017 17:25:09
Administratoren

user = UCase(Environ("USERNAME"))' So
Set rng = Sheets("org").Range("A5:A101")
Set vb = rng.Find(what:=UCase(user), lookat:=xlWhole)' oder SO

Aber du musst schon dafür sorgen, dass in der Def-Liste alle namen gross geschrieben sind

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige