Anzeige
Archiv - Navigation
1412to1416
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Userform Checkboxen ansprechen

Userform Checkboxen ansprechen
12.03.2015 12:52:22
Frank
Hallo zusammen.
In einer Userform, habe ich mehrere Frames angelegt. In jedem Frame befinden sich untereinander 5 Checkboxen.
Innerhalb eines Frames soll folgendes passieren:
-Wird die oberste Checkbox angeklickt, sollen auch die vier anderen Checkboxen einen Haken erhalten.
-Wird einer der vier unteren Haken entfernt, so soll auch der oberste Haken entfernt werden. Die anderen Haken sollen bestehen bleiben.
Wie ist das machbar? Und: Die Gruppierung über Frames ist nicht unbedingt notwendig; ich weiß nur nicht, wie ich Checkboxen sonst gruppieren soll...wenn Ihr da einen besseren Tipp hättet?!
Vielen Dank,
Frank

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

Betreff
Datum
Anwender
Anzeige
AW: Userform Checkboxen ansprechen
12.03.2015 13:05:00
Hajo_Zi
Hallo Frank,
Option Explicit
Private Sub CheckBox1_Click()
Dim ObCb As Object
For Each ObCb In Frame1.Controls
Select Case TypeName(ObCb)
Case "CheckBox"
ObCb = CheckBox1
End Select
Next ObCb
End Sub

AW: Userform Checkboxen ansprechen
12.03.2015 13:15:49
Frank
das sieht schonmal gut aus. beim anklicken der obersten checkbox werden die anderen ebenfalls mit haken versehen. beim rausnehmen des obersten hakens werden auch die anderen haken entfernt.
meine zweite bedingung wird aber nicht erfüllt. wenn einer der unteren vier haken entfernt wird, soll auch der oberste entfernt werden

Anzeige
AW: Userform Checkboxen ansprechen
12.03.2015 13:17:09
Hajo_Zi
Du hast
Private Sub CheckBox1_Click()
für alle 4 gemacht.
Gruß Hajo

AW: Userform Checkboxen ansprechen
12.03.2015 13:31:07
Frank
nein, hatte ich nicht. aber bei den unteren vier muss der quelltext ja ein anderer sein, da es sich ja anders verhalten soll. bei einem herausnehmen des hakens bei einer der unteren vier checkboxen soll NUR der oberste haken auch entfernt werden.

AW: Userform Checkboxen ansprechen
12.03.2015 13:39:39
yummi
Hallo Frank,
dann mach für die anderen Boxen so etwas:

Private Sub CheckBox2_Click()
Dim ObCb As Object
dim bWert as boolean
bWErt = true
For Each ObCb In Frame1.Controls
Select Case TypeName(ObCb)
Case "CheckBox"
if ObCb.value = false then
bWert = false
else
bWert = bwert and obcb
end if
Checkbox1 = bWErt
End Select
Next ObCb
End Sub
ungetestet, müsste aber gehen
Gruß
yummi

Anzeige
AW: Userform Checkboxen ansprechen
12.03.2015 13:53:39
Frank
danke, werde ich testen!

AW: Userform Checkboxen ansprechen
12.03.2015 14:42:10
Rudi
Hallo,
gib den Checkboxen "sprechende" Namen. Hier chkG1_1...chkG1_5. Nächste Gruppe z.B. chkG2_1..chkG2_5.
Option Explicit
Dim bolCode As Boolean
Private Sub chkG1_1_Click()
SetCBX "chkg1_", 1
End Sub
Private Sub chkG1_2_Click()
SetCBX "chkg1_", 2
End Sub
Private Sub chkG1_3_Click()
SetCBX "chkg1_", 3
End Sub
Private Sub chkG1_4_Click()
SetCBX "chkg1_", 4
End Sub
Private Sub chkG1_5_Click()
SetCBX "chkg1_", 5
End Sub
Private Sub SetCBX(strGruppe As String, iNum As Integer)
Dim i As Integer, b As Boolean
If Not bolCode Then
bolCode = True
If iNum = 1 Then
For i = 2 To 5
Controls(strGruppe & i) = Controls(strGruppe & 1)
Next
Else
b = True
For i = 2 To 5
b = b And Controls(strGruppe & i)
Next i
Controls(strGruppe & 1) = b
End If
bolCode = False
End If
End Sub

Gruß
Rudi

Anzeige
AW: Userform Checkboxen ansprechen
12.03.2015 14:52:14
Frank
danke dir, rudi. das proboere ich gleich mal aus.
wenn ich für jede checkbox den selben quelltext verwenden möchte, müßte ich über ein klassenmodul gehen. ist das korrekt?

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige