ich habe in letzter Zeit sehr viel bei euch im Forum verbracht und meistens tolle Lösungen zu bekannten Problemen finden können.
Leider habe ich erst angefangen in VBA zu programmieren, wodruch mir noch teilweise die Basics fehlen.
Ziel:
Ich habe in meiner Userform mehrere checkboxen und würde gerne nur eine Auswahl aus diesen auswerten, bzw. zählen.
In diesem Fall sollen die Werte von den checkboxen 4 bis 9 ausgelesen und summiert werden.
D.h. ich kreuze in der Userform alles an was ich brauche und am Ende soll die Anzahl der Kreuze (aber nur die checkboxen 4 bis 9) der Formel zum weiterrechnen übergeben werden.
Bsp. wenn ich 4 Kreuze setze, dann sollte der Zähler am Ende den Wert 4 besitzen und der Formel übergeben werden.
Ich habe es geschafft, dass ich für jede einzelne checkbox einen Wert bekomme und diese am Ende zusammenzähle.
Jedoch könnt ihr euch vermutlich gute vorstellen wie lange der Code bereits für die 6 Boxen ist.
Porblem:
Wie kann ich meinen code für die einzelne Checkbox verallgemeinern und als Schleife für eine Auswahl von Checkboxen nutzen?
Schließlich möchte ich für die Zukunft Zeit und Code sparen :D
Hoffe, dass mir einer einen Tipp geben kann.
Code-Auszug:
Private Sub CheckBox3_Change()
If CheckBox3.Value = True Then
zähler = zähler+ 1
ElseIf CheckBox3.Value = False Then
zähler = zähler - 1
End If
If (zähler > 0) Then
ErgebnisA = Formel
ElseIf (zähler = 0) Then
ErgebnisB = Formel
End If
Lösungsansatz:
Ich habe leider nur Beispiele für die Zählung aller Checkboxen gefunden.
Diese passt leider nicht zu meinen Gegebenheiten, weil ich noch andere Checkboxen in der Userform verwende, die nicht mitgezählt werden sollen.
Public Sub ()
Dim cb As Variant
For cb = 4 To 9
If Me.OLEObjects("CheckBox" & cb).Object.Value = True Then
zähler = zähler + 1
ElseIf Me.OLEObjects("CheckBox" & cb).Object.Value = False Then
zähler = zähler- 1
End If
If (zähler > 0) Then
ErgebnisA = Formel
ElseIf (zähler = 0) Then
ErgebnisB = Formel
End If
Next
End Sub