У нас есть электронная таблица, которую мы заполняем платежной информацией, а затем загружаем на хост по FTP. Первый столбец требует номер счета клиента. Я хочу предоставить раскрывающийся список Customer NAMES AZ.(У меня есть 2-колоночная таблица имен и номеров). Когда они выбирают имя, я хочу поместить номер клиента в ячейку, а не имя.

Раскрытие:Aname Bname Cname. когда выбрано, вернитесь и заполните ячейку с номером счета 111111,222222,333333. Я могу сделать это достаточно легко, используя vlookup, но для этого требуется дополнительный столбец. Мне нужно вывести двойную обязанность из этой первой колонны.

Есть идеи?

1 ответ1

0

Рассмотрим следующий скриншот:

Когда имя клиента выбрано, следующий макрос немедленно заменяет имя на номер клиента из таблицы поиска в столбцах 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

Щелкните правой кнопкой мыши вкладку листа, выберите "Просмотр кода" и вставьте код в окно кода. Отрегулируйте ссылки в соответствии с вашей рабочей книгой.

Не забудьте сохранить файл как книгу с макросами.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .