Kontrollkästchen passwortgeschützt

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
CheckBox InputBox MsgBox
Bild

Betrifft: Kontrollkästchen passwortgeschützt
von: VBA-Neuling
Geschrieben am: 09.09.2015 08:16:49

Hallo zusammen,
ich bin relativ neu in der VBA Welt und komme gerade nicht weiter.
Ich habe 3 Tabellenblätter mit jeweils etwa 200 Formular-Kontrollkästchen. Mein Ziel ist es, dass diese Kontrollkästchen nur mit einem Passwort angeklickt werden können. Das mit dem Passwort klappt schon ganz gut, allerdings bekomme ich es einfach nicht hin, dass das Kontrollkästchen dann bei einer Falscheingabe nicht angeklickt ist.
Da ich so unheimlich viele Kontrollkästchen habe, möchte ich auch nicht unbedingt für jedes einen eigenen Code schreiben müssen. Und bei den Formular-K.Kästchen möchte ich eigentlich auch bleiben.
Weiß einer von euch da eine Lösung? Wäre euch sehr dankbar.
Liebe Grüße

Bild

Betrifft: AW: Kontrollkästchen passwortgeschützt
von: Beverly
Geschrieben am: 09.09.2015 11:11:28
Hi,
wenn es nur darum geht, dass du nicht für jedes Kontrollkästchen einen Code schreiben willst, dann benutze AchtiveSheet.Shapes(Application.Caller) - damit sprichst du das aufrufende Shape an.




Bild

Betrifft: AW: Kontrollkästchen passwortgeschützt
von: VBA-Neuling
Geschrieben am: 10.09.2015 08:40:01
Hi, vielen Dank für deine Antwort! Mein aller größtes Problem ist jedoch VBA zu sagen, dass das Kontrollkästchen dann nicht aktiviert werden soll, wenn das PW falsch eingegeben wird. Hier ist mal mein Code:

Sub Kontrollkästchen1_Klicken()
Dim PW
 
PW = Application.InputBox("Passwort eingeben", "Passwort")
If PW <> "passwort" Then
    MsgBox ("Falsches Passwort")
    CheckBox = False: Exit Sub
End If
End Sub
Für die Zeile CheckBox = False brauch ich quasi etwas das funktioniert :/
Wisst ihr da eine Lösung?
LG

Bild

Betrifft: AW: Kontrollkästchen passwortgeschützt
von: Beverly
Geschrieben am: 10.09.2015 09:50:04
Hi,

Sub Kontrollkästchen1_Klicken()
    Dim PW
    PW = Application.InputBox("Passwort eingeben", "Passwort")
    If PW <> "Passwort" Then
        MsgBox ("Falsches Passwort")
        ActiveSheet.CheckBoxes(1).Value = -4146: Exit Sub
    End If
End Sub



Bild

Betrifft: AW: Kontrollkästchen passwortgeschützt
von: VBA-Neuling
Geschrieben am: 10.09.2015 11:06:39
Hi Beverly,
danke für den Code. Das funktioniert schon mal super! Jetzt das andere Problem: Mit diesem Code müsste ich ja für jedes Kontrollkästchen den Code einzeln schreiben. Kann man da ne Schleife oder den Code allgemein gültig schreiben?
Vielen Dank für deine Hilfe!!

Bild

Betrifft: AW: Kontrollkästchen passwortgeschützt
von: Beverly
Geschrieben am: 10.09.2015 11:50:47
Hi,
verknüpfe diesen Code mit allen Kontrollkästchen

Sub Kontrolle()
    Dim PW
    PW = Application.InputBox("Passwort eingeben", "Passwort")
    If PW <> "Passwort" Then
        MsgBox ("Falsches Passwort")
        ActiveSheet.Shapes(Application.Caller).ControlFormat.Value = -4146: Exit Sub
    End If
End Sub

Da ich von deinem Ursprungscode ausgegangen bin: es wird nicht berücksichtigt, ob das Kontrollkästchen bereits aktiviert ist - es wird also auf jeden Fall zurückgesetzt wenn das PW falsch ist, gleichgültig ob es gerade aktiviert war oder nicht.



Bild

Betrifft: AW: Kontrollkästchen passwortgeschützt
von: VBA-Neuling
Geschrieben am: 10.09.2015 11:54:17
Funktioniert! Genial, vielen lieben Dank!!

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Kontrollkästchen passwortgeschützt"