Ошибка списка при открытии

Привет сообщество Stackru

Мне нужна помощь с ошибкой 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 ответ

Решение

Или:

  • У вас нет списка под названием Listbox2 или

  • Listbox2 не на листе под названием Sheet3

Дважды проверьте, что вы ссылаетесь на объекты с правильными именами.

Чтобы подтвердить имя списка:

  • щелчок Developer > Design Mode > Right click список> Properties

  • Если это список ActiveX, у него будет список свойств, как показано ниже:

IMG

  • Нажмите на имя в (Name) поле в диалоге свойств. Убедитесь, что в начале или конце имени нет лишних пробелов.

Чтобы подтвердить название листа:

Дважды щелкните вкладку в нижней части рабочего листа. Убедитесь, что в начале или конце имени нет лишних пробелов.

IMG


Если вы все еще не видите проблему:

  • переименовывать Listbox2 в Listbox222 в диалоговом окне свойств ActiveX.

  • Дважды щелкните вкладку для Sheet3 и введите Sheet333,

  • Измените ссылку, вызвавшую ошибку, на Sheet333.Listbox222


Дополнительная информация

Другие вопросы по тегам