【问题标题】:Run Macro on All Checkboxes in Excel from a Single Checkbox从单个复选框在 Excel 中的所有复选框上运行宏
【发布时间】:2014-08-06 20:40:45
【问题描述】:

我有以下代码(感谢 Tim Williams,这里是 Check box to select and deselect all other check boxes in spreadsheet

Dim CB As checkbox
For Each CB In ActiveSheet.CheckBoxes
If CB.Name <> "Expand All Checkbox" Then
CB.Value = ActiveSheet.CheckBoxes("Expand All Checkbox").Value
End If
Next CB

它使用复选框来选择/取消选择所有其他复选框可以完美地工作,但是每个复选框都分配给另一个宏(同一个宏,简称为“复选框”)。我想调用“复选框”宏,因为其他每个复选框都被选中/取消选中 - 这可能吗?如果有,怎么做?!

【问题讨论】:

    标签: vba excel excel-2007


    【解决方案1】:
        Dim CB As checkbox
    For Each CB In ActiveSheet.CheckBoxes
    If CB.Name <> "Expand All Checkbox" Then
    CB.Value = ActiveSheet.CheckBoxes("Expand All Checkbox").Value
    Call Checkbox
    End If
    Next CB
    

    试试这个,我相信这就是你想要做的。

    【讨论】:

    • 要是这么简单就好了!感谢您的回答,但此方法的问题在于宏“复选框”包含与单击的复选框位置相关的代码。因此,此方法将相对于“展开所有复选框”的位置执行宏 n 次,而不是从每个单独的复选框 (CB) 本身执行宏。
    • 我已经编辑了代码 - 基本上你需要在调用 Call Checkbox 之前调用 CB.Select,这会导致你可以通过引用 CB这是坐标
    猜你喜欢
    • 1970-01-01
    • 2018-03-12
    • 1970-01-01
    • 1970-01-01
    • 2020-05-20
    • 1970-01-01
    • 2015-05-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多