Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Checkbox mit PW - Abbruch Code hinzufügen
#11
*hüstel*
Wie wäre es denn mal langsam mit einer Mustermappe, Mann (Frau? wg. eitel) ohne Vornamen?

Fragt sich Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#12
Hallo,

habe ich doch gewußt, dass Du eitel bist und auf das Äußere (Optik) achtest.

Was bedeutet alle Felder sichtbar? Meinst Du die Zellen? Wenn ja, hat der Vorschlag mit den zellen nichts zu tun.
Es würden lediglich die Chekoxen ausgeblendet.

Andre Möglichkeit, die mit wenigen optischen Einbußen möglich ist, statt "Visible" nimmst Du" Enabled".

OOOOHHHHH, habe ich eben nicht richtig geguckt, hat snb ja so. Sorry.

Die Checkboxen sind nicht ausgeblendet sondern inaktiv geschaltet, optisch ausgegraut.
Also alle Chekboxen manuell in den Eigenschaften bei Enabled den Wert auf False setzen.

Und dann die Mappe speichern und schließen. Um dann die Checkboxen Nutzen zu können, muss der Code einmal ausgeführt werdn. Das kann auch beim Öffnen der Mappe geschehen, wenn man hinter diese Arbeitsmappe schreibt:


Code:
Private Sub Workbook_Open()
 Call m_snb
End Sub
Gruß Atilla
Antworten Top
#13
Wink 
Sry atilla,

ich meinte mit Felder natürlich die einzeln Boxen. Diese sollen alle sichtbar sein. Ein Mappe kann ich euch leider sicherheitstechnisch nicht zur Verfügung stellen. Ein Bild jedoch schon:

   

Ihr seht dort die einzelnen Boxen, die von verschiedenen Personen fortlaufend abgehackt werden. Wie schon zu Beginn gesagt sind die einzelnen Bereiche mit personifizierten PW geschützt, dass möchte ich jetzt auch mit den Checkboxen.

Ich bin nun soweit, dass ich ein Passwort für eine einzelne Checkbox setzen kann.

Wie ihr im Bild aber seht, sind es mehrere Boxen in einem Bereich. Die Person müsste nun bei jedem Klick erneut das PW eingeben, was sehr aufwendig wäre.

Daher der Wunsch mehrere Boxen mit dem selben PW versehen. Der Code bisher:



Code:
Private Sub CheckBox1_Change()
Dim PW
If B Then B = False: Exit Sub
PW = Application.InputBox("Passwort eingeben", "Passwort")
If PW <> "xxx" And PW <> False Then
  B = True
  CheckBox1.Value = Not CheckBox1.Value
End If
End Sub

Danke für eure Hilfe

Gruß Daniel
Antworten Top
#14
Bitte, teste die Code bevor etwas zu rufen.

die Textboxen sind mit der vorgeschlagen Code immer sichtbar.

Zitat:Ein Mappe kann ich euch leider sicherheitstechnisch nicht zur Verfügung stellen.

Dann wäre es besser deine Fragen nicht in ein öffentliches Forum zu stellen.
Jeder Besucher sollte etwas lernen können von Fragen und Antworten. öffentlichkeit ist die Kern eines Forums.
Antworten Top
#15
Hallo eitel,

die Boxen sind sichtbar mit snb' s Code aber ausgegraut. Optisch natürlich in einem Formular nicht gut.

Hier ein anderer Weg:

Du hast eine Tabelle, die Du ausblendest. Am besten per Code.
Angenommen die Tabelle heißt  "Geheim". Dies wird nur per Code angesteuert.
Folgenden Code musst Du in das Codemodul von "DieseArbeitsmappe" einfügen.



Code:
Private Sub Workbook_Open()
  Tabelle_ausblenden
  Sheets("Geheime").Range("A1") = ""
End Sub

Private Sub Tabelle_ausblenden()
  Sheets("Geheim").Visible = xlVeryHidden
End Sub


Der obige Code macht folgendes. Beim öffnen wird, wenn die Tabelle "Geheime_Tabelle" sichtbar sein sollte ausgeblendet und der Inhalt der Zelle A1 geleert.
In die Zelle A1 wird nachher das Passwort abgelegt.


Folgenden Code hinter das Blatt mit den Boxen:

Code:
Option Explicit

Dim BoVar As Boolean

'Passwort abfrage
Private Sub passwort()
Dim strgPW As String
Dim varPW As Variant

strgPW = "xxx" 'Passwort hier ändern!!!!

 If BoVar = False Then
   If Sheets("Geheim").Range("A1") <> strgPW Then
     Do
         varPW = Application.InputBox("Bitte Eingabe machen")
         If varPW = False Then Exit Do
     Loop Until varPW = strgPW
     If varPW = strgPW Then
       Sheets("Geheim").Range("A1") = strgPW
     Else
       BoVar = True
       CheckBox1.Value = Not CheckBox1.Value
       BoVar = False
     End If
   End If
 End If
End Sub

Private Sub CheckBox1_Click()
 passwort
End Sub

'......
' Hier die anderen Chekboxen wie Chekbox1 weiterführen
'.......


'Unterer Code für das eventuelle einblenden der ausgblendeten Tabelle
Private Sub Tabelle_einblenden()
 Sheets("Geheim").Visible = True
End Sub

Nach dem Du die Codes eingefügt und eine Tabelle mit dem Namen "Geheim" eingefügt hast, dann speicher die Datei und schließen und wieder öffnen und testen.

Falls Du den Namen des Blatts "Geheim" ändern möchtest , dann pass auf, das Du es an mehreren Stellen ändern musst. Am besten mit suchen und ersetzen in der VBA Umgebung.
Gruß Atilla
Antworten Top
#16
Hallo eitel,

hab noch einmal geschaut, was ich verbrochen habe, und musste feststellen, dass es nicht so geht, wie ich es dargestellt habe.

Im Grunde schon aber nicht mit dem Code.
Wenn Deine Komboboxen der Reihe nach mit 1 bis 100 z.B angeordenet sind, dann ginge es nach folgendem Prinzip:


Code:
Option Explicit

Dim BoVar As Boolean

'Passwort abfrage
Private Sub passwort(iIndex As Long)
Dim strgPW As String
Dim varPW As Variant

strgPW = "xxx" 'Passwort hier ändern!!!!

 If BoVar = False Then
   If Sheets("Geheim").Range("A1") <> strgPW Then
     Do
         varPW = Application.InputBox("Bitte Eingabe machen")
         If varPW = False Then Exit Do
     Loop Until varPW = strgPW
     If varPW = strgPW Then
       Sheets("Geheim").Range("A1") = strgPW
     Else
       BoVar = True
       ActiveSheet.OLEObjects(iIndex).Object.Value = Not ActiveSheet.OLEObjects(iIndex).Object.Value
       BoVar = False
     End If
   End If
 End If
End Sub

Private Sub CheckBox1_Click()
 passwort (1)
End Sub

Private Sub CheckBox2_Click()
 passwort (2)
End Sub

'......
' Hier die anderen Chekboxen wie Chekbox1 weiterführen
'.......

Mit Chekboxen aus Formularsteuerelementen ginge etwas einfacher mit Application.Caller. Da würde ein Code für alle reichen.
Gruß Atilla
Antworten Top
#17
Hallo zusammen,

ich habe mich nun mit der Version von SNB angefreundet, es funktinoiert aber leider bisher noch nicht.

Ich habe als Test 2 Checkboxen "inaktiv" gesetzt und diese zwei Codes angewendet:

Code:
Private Sub Workbook_Open()
Call m_eitel
End Sub
Sub m_eitel()
 For j = 1 To 2
  Me("Textbox" & j).Enabled = Environ("username") = "eitel"
 Next
End Sub

Es kommt beim Öffnen der Excel "Laufzeitfelder 438".

In dieser Zeile ist wohl ein Fehler:


Code:
 Me("Textbox" & j).Enabled = Environ("username") = "eitel"

eitel ist mein Benutzername in Excel. Jetzt weiß ich nicht mehr weiter.

Könnt ihr mir helfen?
Antworten Top
#18
Hallo,

du hast wahrscheinlich den Code in dem Klassenmodul DieseArbeitsmappe stehen. In der können sich aber keine TextBoxen befinden, sondern die sind in einer Tabelle. Verschiebe den Code m_Eitel in die betreffende Tabelle und ändere das Workbook_Open so ab

PHP-Code:
Private Sub Workbook_Open()
 
Call Worksheets("geheim").m_eitel
End Sub 
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#19
Ohne Datei keine Ahnung.
Antworten Top
#20
Hi Daniel,

als Verständnisfrage:
(31.01.2017, 16:06)eitel91 schrieb: Ein Mappe kann ich euch leider sicherheitstechnisch nicht zur Verfügung stellen. Ein Bild jedoch schon:

und warum kannst Du diesen als Bild dargestellten Bereich nicht zur Verfügung stellen?
Willst Du, daß jeder mögliche Helfer die Zeit investiert und sich das genau so nachbaut? Du hast das schon.
Antworten Top


Gehe zu:


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