Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1904to1908
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

Benutzer dürfen Bereiche bearbeiten-VBA

Benutzer dürfen Bereiche bearbeiten-VBA
21.11.2022 11:30:50
blistix87
Hallo zusammen,
ich suche nach einer VBA-Umsetzung für die Funktion "Benutzer dürfen Bereiche bearbeiten".
Hintergrund ist ein Personalplan, in dem die Urlaubsliste digital "unterschrieben" werden soll. Dabei soll Excel den Windows-Anmeldenamen auslesen und die entsprechende Zeile für den jeweiligen Benutzer freigeben, alles andere aber gesperrt lassen.
Die Einstellung über die normale Excel-Funktion ist mir geläufig. Da sich aber doch immer wieder Personalrochaden ergeben würde ich mir die Arbeit gerne erleichtern und dann nur den Code entsprechend anpassen müssen.
Danke für Eure Mithilfe und viele Grüße
Bill

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Benutzer dürfen Bereiche bearbeiten-VBA
21.11.2022 11:59:19
Oberschlumpf
Hi,

Sheets("Blattname").Unprotect passwort
Sheets("Blattname").Range("DeineZelleFürUsername").Value = Environ("username")
Sheets("Blattname").Protect passwort
anstelle von "Blattname",passwort und "DeineZelleFürUsername" musst du natürlich die jeweils richtigen Werte eintragen.
Hilfts?
Nein?
Dann zeig bitte per Upload eine Bsp-Datei mit allem, was erforderlich ist.
Ciao
Thorsten
AW: Benutzer dürfen Bereiche bearbeiten-VBA
21.11.2022 12:12:43
blistix87
Danke für die schnelle Antwort.
Der Kern ist getroffen. Leider springt die Abfrage nicht auf den Usernamen an. Das Feld ist also auch für den User zu bearbeiten der nicht bei environ in Klammern steht.
Viele Grüße
Bill
Anzeige
AW: Benutzer dürfen Bereiche bearbeiten-VBA
21.11.2022 12:15:48
blistix87
https://www.herber.de/bbs/user/156291.xlsx
hier noch die Beispieldatei.
in der Reihe "Unterschrift Mitarbeiter" sollen dann die verschiedenen Benutzer schreiben können oder auch nicht.
AW: Benutzer dürfen Bereiche bearbeiten-VBA
21.11.2022 12:23:54
Oberschlumpf
aha, da is ja doch ne Bsp-Datei, ok.
Aber WAS genau soll nun WANN genau und WO genau geschehen?
Mein Username z Bsp ist "UserGobi"
so, ich öffne deine Datei; direkt nach Öffnen wird mein Username ausgelesen
Woher "weiß" nun die Datei...
- WO darf ich schreiben?
- DARF ICH überhaupt in der Datei schreiben?

...DAS versteh ich noch nicht...
deine Bsp-Datei hatürbrigens null Einträge, weil deine Formeln mit einer Datei verknüpft sind, die uns nicht zur Verfügung steht
(aber vllt ist das für uns ja auch unwichtig, ich weiß es nicht)
Anzeige
AW: Benutzer dürfen Bereiche bearbeiten-VBA
21.11.2022 12:28:38
blistix87
Die Einträge sind tatsächlich unwichtig.
Es geht mir um die Reihe "Unterschrift Mitarbeiter" also 36. Hier soll der Mitarbeiter mit dem Usernamen "Meier" in der Zelle B36 schreiben dürfen, sonst nirgends.
Außerdem "Bauer" in C36, sonst nirgends, usw.
Ich will quasi die Funktion "Benutzer dürfen Bereiche bearbeiten" mit VBA-Code ersetzen, weil mir das bei Änderungen einiges an Zeitersparnis bringen würde.
Viele Grüße
Bill
AW: Benutzer dürfen Bereiche bearbeiten-VBA
21.11.2022 12:42:27
Oberschlumpf
aha? ähhhh?
und WIE soll die DAtei/der Code wissen, dass "Meier" nur in B36 reinschreiben darf?
nirgendwo in der Datei steht der Name "Meier"
Und....ist "Meier" dann auch - wirklich - der Anmeldename von Meier?
Mein Anmeldename ist ja "UserGobi", aber natürlich heiße ich anders.
Brauchts da vielleicht ein zusätzliches, von mir aus ausgeblendetes, Tabellenblatt, in dem in der einen Spalte - alle! - Anmeldenamen der Leute stehen, die mit der Datei arbeiten - und in der Nachbarspalte halt die zugehörigen Realnamen?
Denn SO wäre es z Bsp möglich:
- nach Öffnen der Datei mit Environ Anmeldename auslesen
- Anmeldename in neuer Tabelle so lange suchen, bis gefunden - jetzt Eintrag (Realname) aus Nachbarspalte auslesen
- ach ja, in der eigentlichen Kalendertabelle fehlts ja auch noch, dass keiner weiß, dass "Meier" nur in B36 schreiben darf
- kann es sein, dass du vergessen hast, in Zeile 3 die (Real)Namen aller Leute einzutragen?
Vielleicht hilft es, wenn du uns eine neue Bsp-Datei mit allen erforderlichen Einträgen zeigst, wenn ich mit meinen Vermutungen irgdwo recht habe.
Anzeige
AW: Benutzer dürfen Bereiche bearbeiten-VBA
21.11.2022 12:48:37
blistix87
Das wäre ja gerade die Anforderung an den Code.
Mit der normalen Funktion "Benutzer dürfen Bereiche bearbeiten" kann ich ja gerade eine Zelle auswählen und über Berechtigungen den jeweiligen User hinterlegen der die Zelle ohne Passworteingabe beschreiben darf.
Wenn das möglich ist, indem ich ein zusätzliches Blatt mache oder die Usernamen irgendwo hinterlege - sehr gerne.
Für mich waren die Realnamen und die Benutzernamen erstmal irrelevant, deshalb auch die leere Datei. Zumindest nach meinem Verständnis hatte die Datei auch keine Einträge benötigt.
AW: Benutzer dürfen Bereiche bearbeiten-VBA
21.11.2022 12:52:38
Oberschlumpf
ok, da kann zumindest ich nich weiterhelfen.
wenn ich Username auslese, MUSS ich eine Vergleichstabelle haben, um an den Realnamen zu kommen, damit ich dann mit Realname in Kalendertabelle die richtige Spalte finde.
weiter viel Erfolg!
Anzeige
noch offen...
21.11.2022 12:53:24
Oberschlumpf
...für andere Helfer, die besser helfen können als ich
AW: noch offen...
23.11.2022 12:15:51
Andreas
Der Code macht genau das was gefordert wurde, entsprechend nur die richtigen Dinge einfügen (Passwort etc.)
Diesen Code in "DieseArbeitsmappe"

Private Sub Workbook_Open()
Dim TB As Worksheet, RNG As Range
Set TB = Sheets("Tabelle1")
TB.Unprotect "ABC"
'Reset
TB.Cells.Locked = True
Select Case LCase(Environ("Username"))
Case "meier"
TB.Range("A1").Locked = False
Case "bauer", "weber", "schmidt"
TB.Range("B1").Locked = False
Case "mrx"
' Bereich
TB.Range("A1:C1").Locked = False
Case "admin"
' alles
TB.Cells.Locked = False
Case Else
'mach nix
End Select
TB.Protect "ABC"
End Sub

Anzeige
AW: Benutzer dürfen Bereiche bearbeiten-VBA
21.11.2022 12:17:31
Oberschlumpf
versteh ich nicht, denn bei Protect = True und natürlich "DeineZelleFürUsername".Locked = True ist sowohl Blattschutz aktiv, als auch "DeineZelleFürUsername" darf nicht bearbeitet werden.
Aber ok, eine Bsp-Datei zeigst du ja nicht. Da bin ich dann auch überfragt.
Weiter viel Erfolg!

28 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige