打开时列表框错误

时间:2018-04-11 01:45:41

标签: vba excel-vba listbox listbox-control excel

Hello Stackoverflow社区

我需要有关ListBox错误的帮助。

我在工作表中有两个ListBox(单选)和&不在用户形式

ListBox1 - 包含主要项目

ListBox2 - 包含与主要项目相关联的子项目

选择主要项目时 -

  • 如果不存在子项,则ListBox2.Visible = False

  • 如果存在子项,则ListBox2.Visible = True且.ListIndex = -1(准备子项选择)

使用工作簿时代码运行完美

问题 打开工作簿时,链接到ListBox1的宏将自动运行并弹出错误,突出显示为蓝色' .ListBox2'

错误='编译错误:未找到方法或数据成员'

错误不会一直发生,如果工作簿是否与ListBox2一起保存可见,或者是否选择了子项,则无关紧要。

我尝试过使用打开的工作簿事件,但错误发生在这些事件之前。

请帮忙

添加了发生错误的代码

Dim ListBox2 As ListObject 'Added this in to see if it fixes error but it has not

    With Sheet3.ListBox2
        .Height = 208.5
        .Width = 126.75
        .Top = 312.75
        .Left = 31.5
        .Visible = False
    End With

1 个答案:

答案 0 :(得分:0)

或者:

  • 您没有名为Listbox2的列表框,

  • Listbox2不在名为Sheet3的工作表

仔细检查您是否使用正确的名称引用了对象。

确认列表框的名称:

  • 点击Developer> Design Mode> Right click列表框> Properties

  • 如果它是一个ActiveX列表框,它将有一个属性列表只是,如下所示:

img

  • 单击属性对话框中(Name)字段中的名称。确保名称的开头或结尾没有额外的空格

确认工作表的名称:

双击工作表底部的选项卡。确保名称的开头或结尾没有额外的空格

img

如果仍然无法看到问题:

  • 在ActiveX属性对话框中将Listbox2重命名为Listbox222

  • 双击Sheet3标签,然后输入Sheet333

  • 将导致错误的引用更改为Sheet333.Listbox222

更多信息