Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bitte nicht steinigen!!!

Forumthread: Bitte nicht steinigen!!!

Bitte nicht steinigen!!!
18.01.2006 01:20:01
Edwin
Hallo Ihr geduldigen Profis,
ich muss mit meinem Problem doch nochmal kommen und hoffe dass Ihr mich nicht steinigt. Ich kriegs einfach nicht gebacken und werd noch wahnsinnig.
Mein Problem:
Ich habe eine Userform mit 20 Checkboxen.
Mein erster Klick ist z.B. auf die 5te Checkbox von oben, da es aber der erste Klick ist, soll der Caption dieser Checkbox "1." sein.
Mein zweiter Klick ist z.B. auf die 8te Checkbox von oben, da es aber der zweite Klick ist, soll der Caption dieser Checkbox "2." sein.
usw.
Dank Eurer Hilfe klappt es mit dem Hochzählen. Es klappt sogar mit dem Hochzählen, wenn ich querbeet klicke, also z.B. die 5te Checkbox = "1.", 8te Checkbox = "2.", 4te Checkbox "3.".
Aber jetzt will ich eine oder mehrere Checkboxen wieder auf False setzen, also wieder runterzählen und das klappt nicht, so wie es sein sollte. Und schon gleich gar nicht, wenn ich querbeet klicke.
Ich habe jetzt mal eine kleine Beispieldatei https://www.herber.de/bbs/user/30155.xls
erstellt, damit Ihr seht, wie der Code bisher aussieht. Das mit dem Runterzählen habe ich bewußt rausgelassen, funtzt ja eh nicht.
Wäre echt super, wenn Ihr mir helfen könntet.
Danke im voraus!
Gruß Edwin
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bitte nicht steinigen!!!
18.01.2006 08:11:11
yogi
Moin Edwin
wie wär's damit:

Private Sub checkBox_Change()
Dim oCB As MSForms.Control
Dim chkValue As Boolean
Dim val_caption As Integer
SortAnzahl = 0
For Each oCB In Checkboxen.FrameSortieren.Controls
If TypeOf oCB Is MSForms.CheckBox Then
If oCB.Value = True Then
SortAnzahl = SortAnzahl + 1
End If
End If
Next
If CheckBox.Value = True Then
CheckBox.Caption = SortAnzahl & "."
If SortAnzahl > 3 Then 'alle werden abgewählt
For Each oCB In Checkboxen.FrameSortieren.Controls
If TypeOf oCB Is MSForms.CheckBox Then
oCB.Value = False
oCB.Caption = ""
End If
Next
MsgBox "Es sind max. 3 Checkboxen erlaubt! Es werden alle zurückgestellt."
End If
Else
' checkbox cleared, count down
val_caption = Val(CheckBox.Caption)
CheckBox.Caption = ""
For Each oCB In Checkboxen.FrameSortieren.Controls
If TypeOf oCB Is MSForms.CheckBox Then
If Val(oCB.Caption) > val_caption Then
oCB.Caption = Val(oCB.Caption) - 1 & "."
End If
End If
Next
End If
End Sub

Gruss
yogi
Anzeige
Perfekt!!!
18.01.2006 09:26:28
Edwin
Hallo yogi,
vielen Dank, jetzt klappt es.
Wenn ich Euch nicht hätte. :-)
Gruß
Edwin
;

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