Holen Werte aller Kontrollkästchen in Excel mit VBA
Frage
ich viele Kontrollkästchen, um die Excel-Tabelle hinzuzufügen programaticaly mit dem folgenden Code:
With ActiveSheet.CheckBoxes.Add(rCell.Left, rCell.Top, rCell.Width, rCell.Height)
.Interior.ColorIndex = xlNone
.Caption = ""
End With
Jetzt brauche ich einen Code, der durch alle Kontrollkästchen analysieren würde, die in der Folie vorhanden sind und deren Wert (wahr oder falsch) erhalten und auch die Zelle, an dem sie vorhanden sind. Wie man dies tut?
Danke ...
Lösung
Sub Add_CheckBoxes()
With ActiveSheet.CheckBoxes.Add(ActiveCell.Left, ActiveCell.Top, ActiveCell.Width, ActiveCell.Height)
.Interior.ColorIndex = xlNone
.Caption = ""
End With
For Each chk In ActiveSheet.CheckBoxes
If chk Then MsgBox "Checked"
Next
End Sub
Andere Tipps
Wenn Sie fügen Sie die Kontrollkästchen Sie Schleife durch sie wie diese können:
Sub Checkbox_Test()
Dim chk As CheckBox
Dim cell As Range
For Each chk In ActiveSheet.CheckBoxes
If chk.Value = Checked Then '1 is true, but the constant
Set cell = chk.TopLeftCell ' "Checked" avoids "magic numbers".
'do whatever with cell
MsgBox cell.Address
End If
Next chk
End Sub
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow