ich hab auf einem Tabellenblatt ("Tabelle3") eine Combobox2 integriert und 28 Checkboxen (Checkbox2 - Checkbox 29). Über die Combobox2 können unterschiedliche Werte ausgewählt werden, die in "Tabelle 1" in der Spalte "C5:C13" hinterlegt sind. Soweit funktioniert auch alles.
Ich möchte nun, dass wenn ich in "Tabelle3" über die Combobox2 einen wert auswähle, dass er mir in "Tabelle1" die Zeile sucht in der dieser Wert hinterlegt ist. Die "Tabelle1" enthält Daten im Bereich "B5:AA13". Jede Spalte dieser Zeile soll einer Checkbox (Checkbox2- Checkbox29) zugewiesen werden, die sich wie die Combobox in "Tabelle3" befinden. Wird nun der Wert der Combobox2 in "Tabelle1" gefunden, so soll für jede markierte Checkbox der Wert aus der entsprechenden Spalte dieser Zeile entnommen werden und in "Tabelle2" beginnend bei "B5:B30" aufgeführt werden. Ist eine Checkbox nicht markiert, soll der Wert der nachfolgenden Checkbox eine Zeile weiter nach oben rutschen, sodass in "Tabelle2" keine Lücke entsteht.
Mein Code sieht bis jetzt folgendermaßen aus, es tauchen aber immer noch Fehlermeldungen auf, die ich irgendwie nicht alle behoben bekomm. Vielleicht kann mir einer weiterhelfen, wäre echt nett :).
Private Sub ComboBox2_Change()
Dim rngBereich As Range
Dim r As Long
Set rngBereich = Worksheets("Tabelle1").Range("B5:AA13")
If ComboBox2.Value "" Then
For r = 2 To 29
With Worksheets("Tabelle1")
Set rngBereich = .Find(ComboBox2.Value, LookAt:=xlWhole, LookIn:=xlValues)
If Not rngBereich Is Nothing Then
With Worksheets("Tabelle2")
If Worksheets("Tabelle3").CheckBox & r = True Then
Range("Br+3").Value = Worksheets("Tabelle1").Cells(rngBereich.Row, r + 3). _
Value
End If
End With
End If
End With
Next
End If
End Sub
GrußMarkus