VBA - ComboBox со значениями внутри именованного диапазона - PullRequest
0 голосов
/ 14 мая 2018

Добрый день,

Я пытаюсь загрузить некоторые значения в комбинированный список, используя комбинацию именованного диапазона и другого комбинированного списка:

CBOX_NOMENCLAT.value = "SOCIAL"

Когда значение этого первого комбинированного спискаменяется, он загружает второй, где у меня есть проблема:

Private Sub CBOX_NOMENCLAT_Change()
    With CBOX_MOTIF
        .RowSource = Range(CBOX_NOMENCLAT)
    End With
End Sub

У меня действительно есть именованный диапазон с именем "SOCIAL", возвращающий 3 значения.Я хотел бы, чтобы они были загружены в мой CBOX_MOTIF (см. Ниже "MOTIF OD").

My 2 combo boxes

Я думал об использовании INDIRECTфункции, но я не смог найти способ заставить его работать.

Не могли бы вы мне помочь?Спасибо!

Ответы [ 2 ]

0 голосов
/ 14 мая 2018

Попробуйте:

.RowSource = Range("MyWorkbook.xls!MySheet!" & CBOX_NOMENCLAT.Value)

Согласно MSDN , синтаксис для ссылки на именованный диапазон:

[Имя рабочей книги]![Имя листа]! [Именованный диапазон]

Чтобы оценить первое значение комбинированного списка и вставить его в именованную часть диапазона, вы можете извлечь ссылку на объект из цитат и использовать амперсанд для объединения.

Это будет работать только в том случае, если все необходимые именованные диапазоны существуют на одном листе.В противном случае вам также нужно будет установить имена листов динамически.

0 голосов
/ 14 мая 2018

Пожалуйста, попробуйте следующее.

Private Sub CBOX_NOMENCLAT_Change()
    With CBOX_MOTIF
        .RowSource = CBOX_NOMENCLAT.Value
    End With
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...