Страницы: 1
RSS
[VBA] VLOOKUP при появлении значения в соседней ячейке
 
Привет всем!

Появилась одна проблема, решение которой я вижу только в VBA. Но так как VBA я не знаю, а поиск не дал особых результатов, пишу Вам за помощью.
Во вложении пример исходной таблицы.

Процесс:
Обычный человек вводит значения в столбцы В и С (ИНН и Партнер). На текущий момент этот человек вводит значения и туда и сюда.

Что-бы хотелось сделать:
Когда человек введет, допустим, только "ИНН", справа от него ВПРом (в поле "Партнер") автоматически подтягивалось наименование партнера. И наоборот, если он ввел данные в "Партнер", то выводилась бы автоматически ИНН (прошу обратить внимание на обратный ВПР, если возможно). Если макрос выводит #Н/Д, то заменить его на "ИНН не найден"/"Партнер не найден" (=ЕСЛИОШИБКА). Макрос нужен на все 2 столбика, т.к. в последующем будут добавляться в базу данных новые контрагенты.

Прошу Вас помочь в решении данной задачки.
Если кому-то она покажется слишком простой, прошу простить.
 
Как вариант формулами, просто попробуйте чтото дописать ниже черной таблицы
Название темы - Автозаполнение одного из 2-х столбцов из БД
Изменено: Илья Демид - 17.04.2018 14:19:39
 
Цитата
решение которой я вижу только в VBA
В модуль листа
Код
Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, Columns("B:C")) Is Nothing Then
        Application.EnableEvents = False
Dim Foundcell As Range
    If Target.Column = 2 Then
      Set Foundcell = Columns("E").Find(Target, , xlValues, xlWhole)
      If Not Foundcell Is Nothing Then
        Target.Offset(, 1) = Foundcell.Offset(, 1)
      Else
        MsgBox "ИНН не найден"
      End If
    Else
      Set Foundcell = Columns("F").Find(Target, , xlValues, xlWhole)
      If Not Foundcell Is Nothing Then
        Target.Offset(, -1) = Foundcell.Offset(, -1)
      Else
        MsgBox "Партнер не найден"
      End If
    End If
 End If
    Application.EnableEvents = True
End Sub
 
Kuzmich, спасибо вам большое!
Страницы: 1
Наверх