2015-12-22 3 views
0

У меня есть лист с несколькими выпадающими списками, которые выбирают определенное текстовое значение. Когда я ссылаюсь на эти ячейки на другом листе, я получаю номер, соответствующий выбранному значению, но не самому значению, например. Я выбрал имя в моем раскрывающемся списке, это второе значение в этом списке, поэтому я получаю «2» в результате на другом листе, когда я ссылаюсь на эту ячейку.Ссылка на раскрывающийся список Значение на другом листе

Я пробовал функцию Value, но безрезультатно. Как отобразить фактическое значение в этом новом листе вместо того, чтобы получить номер значения в списке?

Спасибо за ваше время.

ответ

1

Я предполагаю, что вы используете элемент управления со списком формы - вы ввели диапазон ввода и ссылку на ячейку в свойствах управления.

Используйте формулу INDEX, чтобы вернуть товар. Например, если ваш диапазон входного сигнала составляет $ B $ 1: $ B $ 4 и ваша ссылка ячейки $ B $ 11 эта формула возвращает значение: =INDEX($B$1:$B$4,$B$11)

Если ваша ссылка ячейка показывает 3 формула говорит «Верните третий элемент из списка входных диапазонов ».

Чтобы вернуть значение с помощью VBA кода добавьте этот код в обычный модуль:

Sub Dropdown_OnChange() 

    Dim dd As DropDown 

    Set dd = ActiveSheet.Shapes(Application.Caller).OLEFormat.Object 

    MsgBox dd.List(dd.ListIndex) 

End Sub 

Щелкните правой кнопкой мыши элемент управления, выберите «Назначить макрос» и выберите макрос кода выше. Код будет работать для всех раскрывающихся списков - Application.Caller возвращает это раскрывающееся меню.
NB: Код скопирован из Return the selected text from a dropdown box

+0

Привет, поэтому у меня есть следующий синтаксис: = ИНДЕКС ('Лист1' $ I $ 4, 'Лист1' $ I $ 9; 'Лист1' D13!!), Чтобы получить значение в sheet2, но я получаю #VALUE! ошибка. Диапазон ввода моего поля в листе 1 равен $ I $ 4: $ I $ 9, поле находится в ячейке 1 на листе D13. – Witloofdc

+0

Просто убедитесь, что мы находимся на одних и тех же дорожках - Лист1: I4: I9 содержит значения в вашем поле со списком. Лист1 диапазона D13 отображает результат при выборе элемента. Итак ... если I4: I9 содержит A, B, C .... F, и вы выбираете третий элемент (C), то номер 3 отображается в D13? Поэтому, если вы введете эту формулу в диапазон Sheet1 D14 '= INDEX ($ I $ 4: $ I $ 9, $ D $ 13), он отобразит 'C'. –

+0

Я заметил, что вы использовали полуколонны в своей формуле = INDEX ('sheet1'! $ I $ 4; 'sheet1'! $ I $ 9; 'sheet1'! D13) Является ли это правильным в вашей местности, так как моя формула использует двоеточие и запятая - вторая ссылка также не использует имя листа. Должно ли это быть '= INDEX (Sheet1! $ I $ 4: $ I $ 9, Sheet1! D13)' –

Смежные вопросы