Окно списка: Показать один список, вернуть элемент из соседнего столбца в таблице
У нас есть электронная таблица, которую мы заполняем платежной информацией, а затем загружаем на хост через FTP. Первый столбец требует номер счета клиента. Я хочу предоставить раскрывающийся список Customer NAMES AZ (у меня есть таблица с именами и номерами из 2 столбцов). Когда они выбирают имя, я хочу поместить номер клиента в ячейку, а не имя.
Раскрытие:Aname Bname Cname. когда выбрано, вернитесь и заполните ячейку с номером счета 111111,222222,333333. Я могу сделать это достаточно легко, используя vlookup, но для этого требуется дополнительный столбец. Мне нужно вывести двойную обязанность из этой первой колонны.
Есть идеи?
1 ответ
Рассмотрим следующий скриншот:
Когда имя клиента выбрано, следующий макрос немедленно заменяет имя на номер клиента из таблицы поиска в столбцах D и E. В раскрывающемся списке сохраняется список клиентов. На скриншоте клиент C был выбран первым, и макрос заменил имя на номер. Теперь раскрывающийся список все еще можно использовать для выбора другого клиента.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim LookupTable As Range
Set LookupTable = ThisWorkbook.Worksheets("Sheet1").Range("D2:E100")
If Not Intersect(Target, Range("A:A")) Is Nothing Then
Application.EnableEvents = False
Target = Application.WorksheetFunction.VLookup(Target.Value, LookupTable, 2, False)
Application.EnableEvents = True
End If
End Sub
Щелкните правой кнопкой мыши вкладку листа, выберите "Просмотр кода" и вставьте код в окно кода. Отрегулируйте ссылки в соответствии с вашей рабочей книгой.
Не забудьте сохранить файл как книгу с макросами.