Code schneller und übersichtlicher
19.04.2022 17:03:24
Thomas
ich habe in einem Rahmen auf einem Userform 35 Checkboxen, deren Status sich aufgrund einer Auswahl aus einem Suchfeld aus einem Tabellenblatt mit 35 Spalten füllen sollen. In den Zellen steht entweder Text oder sind leer, wenn die Zellen leer sind, wäre der Status = False und ansonsten True.
Ich hab das zwar jetzt so gelöst und das funktioniert auch, aber ist nicht wirklich elegant, das könnte man bestimmt besser lösen.
Private Sub TextBox1_Change()
Dim WkS As Worksheet
Dim rZelle As Range
Set WkS = ThisWorkbook.Worksheets("Tabelle1")
With WkS.Columns(1)
Set rZelle = .Find(TextBox1.Value, lookat:=xlWhole, LookIn:=xlValues)
If Not rZelle Is Nothing Or Empty Then
If WkS.Cells(rZelle.Row, 2).Value "" Then
chkKA = True
Else
chkKA = False
End If
If WkS.Cells(rZelle.Row, 3).Value "" Then
chkBB = True
Else
chkBB = False
End If
If WkS.Cells(rZelle.Row, 4).Value "" Then
chkFB = True
Else
chkFB = False
End If
End If
End With
End Sub
Im Anhang die Beispielmappe mit nur 3 Checkboxen und entsprechend kleinerer Tabelle, normalerweise sind es wie eingang geschrieben 35 zu füllende Checkboxen und entsprechend auch Spalten.Danke
https://www.herber.de/bbs/user/152523.xlsm