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 ...

War es hilfreich?

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
scroll top