ich habe in einer Excel-Tabelle insgesamt 36 Checkboxes.
Jede dieser Checkboxes spreche ich mit "Private Sub Checkbox1_Click()", "Private Sub Checkbox2_Click()", ... an.
Sobald eine dieser Checkboxes angeklick wird, wird der zur Checkbox gehördende Zelleneintrag an eine Liste übertragen.
Beispiel:
Checkbox 1 wird angeklickgt --> Inhalt aus der Zelle "Name1" wird an die Zelle "Liste1" übertragen
Checkbox 5 wird angeklickgt --> Inhalt aus der Zelle "Name5" wird an die Zelle "Liste5" übertragen
Anschließend werden alle Listeneintragungen in einer Zelle zusammengefasst und durch "," getrennt.
Beispiel:
Die Inhalte des Bereichs "Liste" (der Bereich "Liste" entspricht den Zellen "Liste1", "Liste2", ...) werden in der Zelle "Namen2" wie folgt zusammengefasst: "InhaltListe1, InhaltListe2, InhaltListe3, ..."
Das funktioniert soweit einwandfrei.
Nun möchte ich das ganze aber als Schleife ablaufen lassen, so dass ich den unten dargestellten Codeblock nicht für jede Checkbox einzeln angeben muss.
Weis diesbezüglich jemand Rat?
Codeblock als Beispiel für Checkbox1:
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
Range("Liste1").Value = Range("Name1").Value
Else
Range("Liste1").Value = ""
End If
Dim rngBereich As Range
Dim rngZelle As Range
Dim strName As String
Set rngBereich = Range("Liste")
For Each rngZelle In rngBereich
If rngZelle "" Then
strName = strName & ", " & rngZelle
End If
Next
Range("Namen2") = strName
End Sub