【问题标题】:Can't see drop down list in Excel VBA在 Excel VBA 中看不到下拉列表
【发布时间】:2010-03-25 18:48:08
【问题描述】:

我在 Excel 中创建了一个非常简单的下拉列表。它保存从单元格范围(年)加载的整数序列。我需要在 vba 中读取选定的值。但是我什至无法找到控制!

我试过了

CboYear
Sheet2.CboYear
Worksheets("SheetName").CboYear

等等。等等

在 VBA 的任何地方,这个控件都不存在。我发现的所有教程似乎都假设只使用控件名称就可以了。

我已经尝试了工作表本身、工作簿和模块中的代码,没有运气。

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    如果您从“表单”工具栏中获得下拉菜单,请使用

    Sheet2.DropDowns("CboYear")
    

    DropDowns 属性不受支持/已弃用,因此您无法获得智能感知,但它仍然有效。

    如果您从控制工具箱中获得下拉菜单,那么

    Sheet2.CboYear
    

    应该有效

    【讨论】:

    • 不支持/已弃用或只是隐藏?
    • 您可以通过更改“对象浏览器”中的“显示隐藏成员”属性来让隐藏类显示在 IntelliSense 中。右键单击“对象浏览器”中的任意位置并选中“显示隐藏的成员”
    • 也许“隐藏”是恰当的术语。
    【解决方案2】:

    Excel 使用了两种控件集。内置控件和 Microsoft Forms 2.0 控件。通过 Forms 工具栏提供的内置控件是专门为在 Excel 中工作和使用范围而设计的控件。其他控件是 Microsoft Forms 2.0 控件。这些是 Office VBA 使用的 ActiveX 控件。它们被设计为在 Office 中工作,并且更类似于 Windows 使用的控件。

    【讨论】:

    • 当我运行 MsgBox Worksheets("SheetName").Shapes("CboYear") 我得到“对象不支持属性或方法”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-24
    • 2013-10-19
    • 1970-01-01
    相关资源
    最近更新 更多