Supportnet / Forum / Tabellenkalkulation
Mehrere Passwörter
Frage
Hallo
Es geht immer noch um meinen Kalender den ich mit Eurer Hilfe erstellt habe.
Ist es möglich einzelne Zellenbereiche, auf einem Tabellenblatt z.b. C8:C10 + E8:E10 + I8:I10 mit einem Passwort zu schützen, und andere Bereiche z.b. C12:C14 + E12:E14 +I12:I14 mit einem anderen.
Ich möchte damit erreichen, das jeder Mitarbeiter seine Urlaubseinträge mit einen eigenen Passwort schützen kann.
Mit freundlichen Grüßen
Hans
Antwort 1 von coros
Hallo Hans,
das könnte man z.B. mit nachfolgendem Code realisieren, der in das VBA Projekt des Tabellenblattes zu kopieren ist, in dem sich der Bereich der Mitarbeiter befindet, in dem sie ihre Daten eintragen sollen/ dürfen.
In dem Code ist für 2 Mitareiter für den Bereich, den Du angegeben hast, eine Kontrolle erstellt. Wird in den Bereichen ein Eintrag getätigt, erscheint nach der Eingabe ein Fenster, in dem man zur Passworteingabe aufgefordert wird. Bei falscher Eingabe wird der gerade eingetragene Wert wieder gelöscht. Stimmt das Passwort, bleibt der Eintrag bestehen.
In den Const-Anweisungen muss anstelle von "abc" und "def" die Passwörter eingetragen werden.
Ich hoffe Du kommst klar. Bei Fragen melde Dich bitte.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
das könnte man z.B. mit nachfolgendem Code realisieren, der in das VBA Projekt des Tabellenblattes zu kopieren ist, in dem sich der Bereich der Mitarbeiter befindet, in dem sie ihre Daten eintragen sollen/ dürfen.
Option Explicit
Rem: Für jeden Mitarbeiter eine Const-Anweisung
Rem: mit dem Passwort erstellen
Const PW1 = "abc"
Const PW2 = "def"
Private Sub Worksheet_Change(ByVal Target As Range)
Dim CheckRange As Range, PW As Variant
Application.EnableEvents = False
Rem: Mitarbeiter 1
Set CheckRange = Range("C8:C10,E8:E10,I8:I10")
If Not Intersect(CheckRange, Target) Is Nothing Then
PW = InputBox("Bitte Passwort eingeben")
If PW = False Or PW = "" Then
GoTo Ende
End If
If PW <> PW1 Then
GoTo Ende
End If
End If
Rem: Mitarbeiter 2
Set CheckRange = Range("C12:C14,E12:E14,I12:I14 ")
If Not Intersect(CheckRange, Target) Is Nothing Then
PW = InputBox("Bitte Passwort eingeben")
If PW = False Or PW = "" Then
GoTo Ende
End If
If PW <> PW2 Then
GoTo Ende
End If
End If
Rem: Hier der nächste Mitarbeiter
Rem: Hier der nächste Mitarbeiter
Rem: Hier der nächste Mitarbeiter
Application.EnableEvents = True
Exit Sub
Ende:
Target.Cells.ClearContents
Application.EnableEvents = True
End SubIn dem Code ist für 2 Mitareiter für den Bereich, den Du angegeben hast, eine Kontrolle erstellt. Wird in den Bereichen ein Eintrag getätigt, erscheint nach der Eingabe ein Fenster, in dem man zur Passworteingabe aufgefordert wird. Bei falscher Eingabe wird der gerade eingetragene Wert wieder gelöscht. Stimmt das Passwort, bleibt der Eintrag bestehen.
In den Const-Anweisungen muss anstelle von "abc" und "def" die Passwörter eingetragen werden.
Ich hoffe Du kommst klar. Bei Fragen melde Dich bitte.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 2 von yxc
Hallo
Nochmals besten Dank Oliver !!
Alles Perfekt :-) bis dahin, werde versuchen das Makro auf meine Tabelle zu erweitern.
Mit freundlichen Grüßen
Hans
Nochmals besten Dank Oliver !!
Alles Perfekt :-) bis dahin, werde versuchen das Makro auf meine Tabelle zu erweitern.
Mit freundlichen Grüßen
Hans

