Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Kontrollkästchen in Userform

Kontrollkästchen in Userform
02.05.2019 09:14:38
Gerd
Hallo Leute, ich habe eine Userform und darin etliche Kontrollkästchen zur Auswahl.
Rufe ich nun die Userform auf und möchte in einem Kontrollkästchen den Haken setzen, muß ich das Kontrollkästchen zwei mal anklicken (aber immer nur beim ersten mal). Alle anderen Klicks muß ich dann nur einmal machen. Hattet ihr das Problem auch schon? Wenn ja: Wie kann man das lösen?
Danke schon mal für eure Hilfe.
MfG
Gerd
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
.Triplestate = FALSE setzen! (owT)
02.05.2019 10:12:41
EtoPHG

AW: .Triplestate = FALSE setzen! (owT)
02.05.2019 10:48:52
Gerd
Danke erstmal. Unter den Eigenschaften für die Checkbox ist der TripleState immer auf False gesetzt.
An welcher Stelle müßte ich den Befehl sonst schreiben? Hast du ein Beispiel für mich?
In dem Fall kann ich es mir nur mit falschen...
02.05.2019 11:19:23
EtoPHG
Codekonstrukten erklären, aber ich sehe deine Codes nicht!, Gerd
Anzeige
AW: In dem Fall kann ich es mir nur mit falschen...
02.05.2019 11:52:11
Gerd
was benötigts du von mir, was soll ich hier einstellen?
Beispielmappe(xlsm) mit anonymisierten Daten (owT)
02.05.2019 13:27:23
EtoPHG

AW: Beispielmappe(xlsm) mit anonymisierten Daten (owT)
02.05.2019 14:05:22
Gerd
Danke für das Angebot. Das ist aber leider nicht möglich. Vielleicht reicht ja folgendes:
Bevor ich eine Userform aufrufe kommt folgendes:
Private Sub CommandButton1_Click()
Dim lngRed, lngWhi As Long
lngRed = RGB(255, 0, 0)
lngWhi = RGB(255, 255, 255)
If Sheets("Tabelle1").Range("B4").Value = "" Then
Unload UserForm1Name
UserForm1Name.Controls("CheckBox2").Visible = False
UserForm1Name.Controls("CheckBox3SStempelSetzen").Visible = False
UserForm1Name.TextBox1Vorname.BackColor = lngRed
UserForm1Name.TextBox1Vorname.ForeColor = lngWhi
UserForm1Name.TextBox1Vorname.SetFocus
UserForm1Name.Show
End If
If Sheets("Tabelle1").Range("C4").Value = "" Then
Unload UserForm1Name
UserForm1Name.Controls("CheckBox2").Visible = False
UserForm1Name.Controls("CheckBox3SStempelSetzen").Visible = False
UserForm1Name.TextBox2Zuname.BackColor = lngRed
UserForm1Name.TextBox2Zuname.ForeColor = lngWhi
UserForm1Name.TextBox2Zuname.SetFocus
UserForm1Name.Show
End If
If Sheets("Tabelle1").Range("B4").Value  "" And Sheets("Tabelle1").Range("C4").Value  "" _
And Sheets("Tabelle3").Range("G3").Value = 0 Then
Unload UserForm1Name
Sheets("Tabelle3").Range("E2").Value = True
'MsgBox "Der Haken bei *Neuanlage* wurde automatisch gesetzt"
End If
If Sheets("Tabelle3").Range("E3").Value = 1 Then
Unload UserForm1Name
Sheets("Tabelle1").Range("B1:D2").Value = "Neuanlage_User"
Dim myDatum As String
Application.Goto Reference:="Neuanlagedatum"
myDatum = Date
Selection.Value = myDatum
End If
If Sheets("Tabelle1").Range("B1").Value = "Neuanlage_User" And Sheets("Tabelle3").Range("C5" _
).Value = 0 Then
UserForm1Hinzu.Show
End If
Dann wird die UserFormHinzu aufgerufen. Hier habe ich dann noch für die einzelnen Boxen  _
folgendes:

Private Sub CheckBox301ÄD_Click()
If CheckBox301ÄD.Value = True Then
Sheets("Tabelle3").Range("P3").Value = 1
'        Sheets("Tabelle3").Range("P27").Value = 1
Else
CheckBox301ÄD.Value = False
Sheets("Tabelle3").Range("P3").Value = 0
Sheets("Tabelle3").Range("P27").Value = 0
End If
End Sub

Private Sub CheckBox320MVÄrzte_Click()
If CheckBox320MVÄrzte.Value = True Then
Sheets("Tabelle3").Range("T3").Value = 1
'        Sheets("Tabelle3").Range("T35").Value = 1
Else
CheckBox320MVÄrzte.Value = False
Sheets("Tabelle3").Range("T3").Value = 0
Sheets("Tabelle3").Range("T35").Value = 0
End If
End Sub
Private Sub CheckBox321MVAnmeldungPIA_Click()
If CheckBox321MVAnmeldungPIA.Value = True Then
Sheets("Tabelle3").Range("T4").Value = 5
'        Sheets("Tabelle3").Range("T36").Value = 5
Else
CheckBox321MVAnmeldungPIA.Value = False
Sheets("Tabelle3").Range("T4").Value = 0
Sheets("Tabelle3").Range("T36").Value = 0
End If
End Sub

Private Sub CheckBox322MVErgo_Click()
If CheckBox322MVErgo.Value = True Then
Sheets("Tabelle3").Range("T5").Value = 1
'        Sheets("Tabelle3").Range("T37").Value = 1
Else
CheckBox322MVErgo.Value = False
Sheets("Tabelle3").Range("T5").Value = 0
Sheets("Tabelle3").Range("T37").Value = 0
End If
End Sub

usw.
Ich hoffe du kannst damit etwas anfangen.
Anzeige
AW: Beispielmappe(xlsm) mit anonymisierten Daten (owT)
02.05.2019 15:29:21
EtoPHG
Hallo Gerd,
Ich hoffe du kannst damit etwas anfangen.Nein, leider nicht viel.
Was mir allerdings auffällt:
Diese Befehle
      CheckBoxName.Value = False
sind völlig unnötig, da sie sich im Else-Zweig befinden, d.h. dass die entsprechende CheckBox bereits den Wert False hat.
Zudem würde ich stark davon abraten irgendwelche Komponenten (Variablen, Controls, Proceduren etc.) in VBA mit Umlauten (Ä,ö,ü...etc.) zu bennennen.
Gruess Hansueli
Anzeige
AW: Beispielmappe(xlsm) mit anonymisierten Daten (owT)
03.05.2019 07:59:10
Gerd
Danke für den/die Hinweis(e). Werde ich zukünftig berücksichtigen. Ob damit das Problem gelöst ist weiß man aber nicht, oder?
MfG
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige