Excel VBA 组合框禁用问题

Posted

技术标签:

【中文标题】Excel VBA 组合框禁用问题【英文标题】:Excel VBA combobox disable problem 【发布时间】:2011-02-14 20:47:23 【问题描述】:

我正在尝试根据 Excel 2007 中第二个组合框的值或状态启用/禁用组合框。

我认为我的代码应该是这样的:

Sub DropDown266_Change()
    If DropDown266.Index = 2 Then
        DropDown267.Enabled = False
    End If
End Sub

但是,我收到一个运行时错误“424”,说需要一个对象。我确信这是一个非常简单的更改,但我似乎无法弄清楚。如果您需要更多详细信息,请告诉我。

【问题讨论】:

您的表单上是否存在两个组合框?您在哪一行收到错误消息? 我假设两个组合框都存在。右键单击这些框时,它们各自的名称会出现在 Excel 的“名称框”中。我试过给他们自己独特的名字,但同样的问题仍然存在。是否有一种简单的方法可以列出工作表/工作簿上的所有对象,类似于命名单元格和对象的“转到”按钮? VBA 错误在第一行,指的是 DropDown266。 是的,出现此错误的唯一原因是对象不可用。你能检查你想禁用的组合的名称吗? 【参考方案1】:

获取索引的语法是ComboBox1.ListIndex。

【讨论】:

【参考方案2】:

尝试使用 Me.DropDown266.Index

您也可以使用 Intellisense 检查 Combobox 是否存在:键入 Me.Dro 并查看 DropDown266 是否出现在列表中。

【讨论】:

以上是关于Excel VBA 组合框禁用问题的主要内容,如果未能解决你的问题,请参考以下文章

Excel VBA文本框以填充组合框

从组合框中选择下一个项目,然后单击 Excel VBA 按钮

Excel VBA检查各种组合框中是不是存在值,然后添加相应的文本框值

启用/禁用 Excel 2007 组合框

VBA-Excel如何清除组合框项目

在 Excel VBA 中动态调整组合框的宽度