选中所有复选框以运行其他选定框VBA Excel

时间:2017-10-20 10:26:50

标签: excel vba excel-vba

我试图选择"选择全部"复选框,但是当选中所有复选框时,它们不会被操作。

Sheet1 中的字段未导入或设置为Null。在他们自己的复选框上将数据从 Sheet1 导入到位,但在master选择所有checkbox1开/关命令下不起作用。

到目前为止,这是我的代码:

Sub SelectAll_CHECK_BOX()
    Dim CB As CheckBox
    For Each CB In ActiveSheet.CheckBoxes
        If CB.Name <> "Check Box 1" Then
            CB.Value = ActiveSheet.CheckBoxes("Check Box 1").Value
        End If
    Next CB
End Sub

其他复选框具有以下代码,每个复选框具有不同的范围值和子名称。

Sub CHECK_BOX_PRODUCT_NAME()
    Dim CB As CheckBox
        For Each CB In ActiveSheet.CheckBoxes
            If CB.Name <> ActiveSheet.CheckBoxes("Check Box 1").Name And CB.Value <> ActiveSheet.CheckBoxes("Check Box 1").Value And ActiveSheet.CheckBoxes("Check Box 1").Value <> 2 Then
                ActiveSheet.CheckBoxes("Check Box 1").Value = 2
                Exit For
            Else
                ActiveSheet.CheckBoxes("Check Box 1").Value = CB.Value
            End If
        Next CB
    Dim xChk As CheckBox
    Set xChk = ActiveSheet.CheckBoxes(Application.Caller)
    With xChk.TopLeftCell.Offset(0, 3)
        If xChk.Value = xlOff Then
            .Value = Null
        Else
            .Value = Sheets("Sheet1").Range("B9")
        End If
    End With
End Sub

以下是问题的可视化: gif

1 个答案:

答案 0 :(得分:0)

您应该尝试将Call CHECK_BOX_PRODUCT_NAME添加到第一个宏。就在End Sub之前。

由于第一个宏只检查第二个框而没有运行第二个复选框的代码。