Как назвать именованный список? - PullRequest
0 голосов
/ 21 апреля 2020

Я ищу помощь по вызову именованного списка в коде VBA. Вот более подробная информация: я создал список имен с помощью диспетчера имен (на вкладке формулы). Я хотел бы отобразить элементы, содержащиеся в именованном списке, в комбинированном списке в зависимости от значения другого комбинированного списка.

Чтобы привести простой пример: если я выберу «Нью-Йорк» в другом В первом выпадающем списке отображаются только элементы, доступные в Нью-Йорке, а не элементы, доступные во всех городах. Моя проблема в том, что всякий раз, когда я использую Range («Имя»). Выберите, я получаю только имя именованного списка, а не следующие элементы.

Here is the tool I used to create the named list

Более того, некоторые из именованных списков дают мне ошибку при вызове их, например: Range ("Site_Mourenx"). Выбор метода выбора класса Range не удался.

Спасибо за вашу помощь. После сообщения ученика Гэри я попытался просто изменить код, чтобы отправить значение каждой ячейки в моем поле со списком:

Dim cell As Range
    For Each cell In Range("Site_Mourenx")
        Me.ComboBox_emplacement.List = cell.Value
    Next cell

Однако я получаю сообщение об ошибке, говорящее мне: невозможно определить свойство List. Индекс таблицы свойств недействителен. Является ли тот факт, что мой выпадающий список помещен в форму пользователя, является проблемой? Это странно, потому что я уже использовал .List для другого содержимого комбобокса, и он работал совершенно нормально.

1 Ответ

1 голос
/ 21 апреля 2020

На листе я присваиваю имя New_York ячейкам D1 - D4 :

enter image description here

Это позволяет мне в VBA обрабатывать такие компоненты, как:

Sub WhatsInAName()
    Dim cell As Range
    For Each cell In Range("New_York")
        MsgBox cell.Value
    Next cell
End Sub

Вы должны использовать компоненты, чтобы заполнить ваш комбинированный список.

РЕДАКТИРОВАТЬ # 1:

Возможно что-то вроде:

Sub UNTESTED()
    Dim cell As Range
    For Each cell In Range("New_York")
        somecombobox.AddItem cell.Value
    Next cell
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...