Blatt schützen in Abhängigkeit eines Wertes
#1
Hallo an alle hier im Excel-Forum,
ich suche eine Lösung zu nachfolgender Aufgabenstellung und würde mich sehr freuen, wenn 
mir jemand von euch einen Tipp geben könnte.

In Abhängigkeit eines Zellwertes soll das Tabellenblatt, in dem dieser Wert vorkommt automatisch vollständig geschützt werden.
Zudem soll der Schutz auch wieder automatisch aufgehoben werden, sobald der Wert vom "Triggerwert" abweicht.

Meine bisherige Recherche hat mich zu VBA "Protect" geführt. Leider habe ich von VBA keine Ahnung und weiß auch nicht, ob es einen
anderen Lösungswert gibt.

Vielen Dank an alle Leser meines Themas

Beste Grüße


Angehängte Dateien
.xlsx   protect.xlsx (Größe: 9,49 KB / Downloads: 3)
Top
#2
Hallo

kann z.B. beim aktivieren des Blattes ausgelöst werden


- Rechtsclick auf den Tabellenblattreiter
- Code anzeigen
- Rechts dann dies einfügen

Code:
Private Sub Worksheet_Activate()
    If Range("B3").Value = Range("B5").Value Then
        Me.Protect
    Else
        Me.Unprotect
    End If

End Sub


LG UweD
Top
#3
hat leider nicht funktioniert: habe den Hinweis eingebaut - siehe Upload.
Ist daran etwas falsch gelaufen?


Angehängte Dateien
.xlsm   protect_vba.xlsm (Größe: 14,35 KB / Downloads: 5)
Top
#4
Hallo,

Code:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    If Range("B3").Value = Range("B5").Value Then
        Me.Protect
    Else
        Me.Unprotect
    End If
End Sub
Vergesse aber nicht den Schutz von einer der beiden Zellen zu entfernen. Recte Mastaste - Zellen formatieren - Schutz - bei gesperrt den Haken raus, denn sonst kannst Du ja mit Hilfe des Codes nicht entsperren.

Gruß
Marcus

Wissen ist Macht - es ist aber nicht schlimm nicht alles zu wissen.
Man muss nicht alles wissen - man muss nur wissen wo es steht, oder wo man Hilfe bekommt.
Top
#5
Hallo nochmal

Das Makro läuft, wenn du AUF DIESES Blatt wechselst.

Also tippe mal auf einen anderen Reiter und dann wieder auf dieses Blatt.


LG UweD
Top
#6
Hallo Uwe,
natürlich funktioniert dein Makro. Ich habe nur:
Code:
Private Sub Worksheet_Activate()
gegen


Code:
Private Sub Worksheet_Change(ByVal Target As Range)

Private Sub Worksheet_Change(ByVal Target As Range)

ausgetauscht. Und natürlich den kleinen Hinweis dazu geschrieben.

Lg
Marcus

Wissen ist Macht - es ist aber nicht schlimm nicht alles zu wissen.
Man muss nicht alles wissen - man muss nur wissen wo es steht, oder wo man Hilfe bekommt.
Top
#7
Hallo Marcus (marose67)

Meine Antwort war auch nicht für dich, sondern für Ethratorn bestimmt.


Leider werden hier in diesem Forum die Antworten immer nur unten angefügt, auch wenn man auf einen Betrag weiter oben schreibt.



LG UweD
Top
#8
Hallo Uwe,

Zitat:Leider werden hier in diesem Forum die Antworten immer nur unten angefügt, auch wenn man auf einen Betrag weiter oben schreibt.

wenn du in dein Benutzer-CP und dort auf "Optionen ändern" (in Dein Profil) gehst, kannst du im mittleren Feld rechts die Ansicht von linearer Struktur auf Baumstruktur umschalten.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#9
Hallo WillWissen


Danke, werde ich ausprobieren

LG UweD
Top
#10
Hallo Uwe,

egal welche Einstellung Du wählst, schreibe am Besten zu einer Antwort, die für einen speziellen user gedacht ist, dessen Name dazu, Du brauchst dann auch nicht mehrere Antworten schreiben sondern kannst alles in eine packen. z.B.

@Marcus
ok

@Günter
auch ok



ich verwende die Baumstruktur z.B. nicht weil ich die chronologische Reihenfolge besser finde und hätte nichts davon, wenn Du die einstellst Sad Ich könnte mir vorstellen, dass es da noch einen gleichgesinnten gibt. Oder zwei … Smile
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste