Совет предоставил:

Бен Саллинс, Феникс, Аризона. Использование визуального базового комбинированного поля / поля редактирования — это довольно продвинутая концепция, которая, как вы обнаружите, может быть очень полезна во многих отношениях.

Сначала нам нужно иметь список значений, которые будут заполнять поле со списком.

В этом случае я буду использовать список имен из предыдущего совета.

Как только у нас будет список, мы будем называть его «именованными диапазонами».

Для этого мы просто выделяем диапазон данных, а затем щелкаем поле локатора ячеек и вводим имя, которое хотим использовать.

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

Я зашел на http://www.nba.com/suns/stats и просто скопировал данные в таблицу «данных».

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

Теперь нам нужно создать место для хранения выбранного имени игрока.

Вы можете сделать это где угодно, но в этом случае я сделаю так, чтобы это отображалось на главной странице отчета. Для этого я создаю другой именованный диапазон, называемый «playerlnk».

Поскольку мы использовали именованные диапазоны, мы можем сделать нашу формулу одинаковой для всех данных, которые должны отображаться на главной странице. Вот оно… = ВПР (playerlnk, playerlk, MATCH (C5, data! $ A $ 3: $ P $ 3,0), 0)

Сначала будет отображена ошибка N / A, потому что у нас нет допустимого значения в поле «playerlnk». Отсюда мы можем добавить в формулу некоторую проверку ошибок.

ЕСЛИ (playerlnk = «», «», IF (ISNA (ВПР (playerlnk, playerlk, MATCH (C5, data! $ A $ 3: $ P $ 3,0), 0)) ,, VLOOKUP (playerlnk, playerlk, MATCH (C5, data! $ A $ 3: $ P $ 3,0), 0)))

Пришло время создать поле со списком… Чтобы создать поле со списком / редактированием Visual Basic, сначала выберите View> Toolbars> Visual Basic, появится панель инструментов visual basic. На базовой визуальной панели инструментов нажмите «Панель инструментов управления». Это значок молотка и гаечного ключа.

На панели инструментов управления вы увидите элемент Combo Box, щелкните его, затем щелкните электронную таблицу, где вы хотите, чтобы поле появилось.

Теперь, когда у нас есть поле со списком, нам нужно заполнить его именами игроков.

Для этого щелкните его правой кнопкой мыши, выберите свойства, затем в «диапазон заполнения списка» введите именованный диапазон, который мы хотим использовать для заполнения поля со списком.

Мы собираемся использовать namelst в этой ситуации. Затем нам нужно указать Excel, куда поместить выбранное значение, мы снова используем именованный диапазон. Введите «playerlnk» в свойство «связанная ячейка» нашего поля со списком.

На этом этапе вам нужно закрыть окно свойств и выйти из режима разработки.

Чтобы выйти из режима дизайна, нажмите кнопку «Режим дизайна» на «Панели инструментов управления».

Это треугольная линейка и светло-голубой значок карандаша. Теперь мы можем протестировать наш отчет, выбрав имя из списка и наблюдая, как оно заполняет ячейку.

Затем формула должна вернуть данные с другой страницы.

Чтобы сделать этот отчет более удобным для пользователя, давайте скроем таблицы «ref» и «data», чтобы наши пользователи не запутались. Вы можете сделать это, выбрав лист «ref», удерживая элемент управления и выбрав лист «данные», затем перейдя в формат> лист> скрыть.

Я оставил их не скрытыми во вложении.

Таким образом мы можем создать окно списка vb в excel.