См. Значение, выбранное в комбинированном окне с двумя столбцами в пользовательской форме. - PullRequest
0 голосов
/ 02 февраля 2019

У меня есть форма пользователя с комбинированным полем с двумя столбцами.Как обратиться к значениям, которые активны в поле со списком в скрипте VBA в других частях пользовательской формы (кнопки и т. Д.)?

Простое использование MyComboBox.Value возвращает значение в первом столбце.Я не могу понять, как ссылаться на второй столбец.

РЕДАКТИРОВАТЬ: Основываясь на советах ниже, я использовал это:

MyComboBox.List(MyComboBox.ListIndex, 1)

1 Ответ

0 голосов
/ 02 февраля 2019

Вы этого не сделаете.

Value для нескольких столбцов ComboBox будет значением "ключа".Вы, вероятно, заполнили выпадающий список из какого-либо списка или массива: используйте тот же источник , чтобы найти значение, соответствующее выбранному ключу.Обратите внимание на формулировку ключ / значение: наличие значений в Dictionary позволяет очень легко получить значение второго столбца.

Или найдите его в элементе управления List (который по сути являетсякопии источника ваших предметов), используя ListIndex, который дает вам индекс выбранного элемента в списке источников.

У вас может быть процедура Property Get, ответственная за этот поиск - тогда другие частикод может легко потреблять его по мере необходимости.

Private Property Get SelectedItemDisplayText() As String
    SelectedItemDisplayText = MyComboBox.List(MyComboBox.ListIndex, 1)
End Property

Обычно вы заботитесь только о выбранной «клавише» (/ «ID»), а не о «отображаемом значении».

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