Получение значений списка из элементов управления формы - PullRequest
0 голосов
/ 13 марта 2019

У меня есть раскрывающийся список Form Control в моем листе Excel.Его входной диапазон является именованным диапазоном, который содержит другие именованные диапазоны.Я хотел, чтобы после изменения пользователь был перенаправлен на выбранный диапазон имен.У меня трудности с прямым получением выбранных диапазонов имен из выпадающего списка.Все, что я получаю, это список значений элемента управления dronwdown.Я решил обходной путь и выбрал подходящую ячейку из основного именованного диапазона, но мне интересно, должен ли быть способ напрямую получить строковое значение выбранного элемента.Вот мой код и тот, который я уже пробовал.

** это работает:

Sub GotoNames()
Dim rng As Range, T As Range
    Set rng = ThisWorkbook.Sheets("Panel").Range("NamedRng")
    On Error GoTo errr
Retry:
    With ThisWorkbook.Sheets("Result").DropDowns(1)
       Set T = rng(.Value)
       Application.Goto T.Value2
    End With
    Exit Sub
errr:
    If T.Worksheet.Visible = xlSheetHidden Then
        T.Worksheet.Visible = xlSheetVisible
        resume Retry
    End If
End Sub

Но я хотел:

Sub GotoNames()
'On Error Resume Next
    With ThisWorkbook.Sheets("Result").DropDowns(1)
        Application.Goto .ControlFormat.List(.ControlFormat.ListIndex) 'OR
        Application.Goto .ListFillRange(.value)
    End With
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...