【问题标题】:Find and Delete all Comboboxes in Excel Sheet查找并删除 Excel 工作表中的所有组合框
【发布时间】:2014-08-06 18:48:08
【问题描述】:

我想使用 VBA 删除工作表中的所有组合框(表单控件类型未激活 X)

我有

For Each s In ActiveSheet.Shapes
s.Delete
Next s

问题是它删除了我所有的形状,而且我很难找到删除组合框(具有不同名称)的逻辑

感谢您的帮助!

【问题讨论】:

    标签: vba excel excel-formula excel-2007


    【解决方案1】:
    With ActiveSheet.DropDowns
    Do While .Count > 0
        .Item(1).Delete
    Loop
    End With
    

    或者只是

    activesheet.dropdowns.delete
    

    【讨论】:

    • 从未听说过对象dropdowns,2020 年它还存在于一张纸上吗? Here 是另一个不起作用的用例。
    • @Timo - 是的,在 2020 年仍然有效......如果您对某些代码有疑问,也许值得发布一个关于它的问题?
    • Tim,它不会删除 ActiveX 元素,只是删除“正常”元素,这正是提问者想要的。但是,我想clear 循环中的所有下拉列表,而不是删除。顺便说一句,我使用 Edge,当我在开头添加 @ 来解决您的问题时,@Tim 被删除。好的,看到this
    【解决方案2】:

    如果您只有这些组合框,那么:

    Sub qwerty()
        Dim s As Shape
        For Each s In ActiveSheet.Shapes
            If s.Type = 8 Then
                s.Delete
            End If
        Next s
    End Sub
    

    【讨论】:

    • 我的索引超出范围。
    • s.typemsoformcontrolhere 的 8 位
    猜你喜欢
    • 2011-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-29
    • 1970-01-01
    • 1970-01-01
    • 2019-06-04
    相关资源
    最近更新 更多