Страницы: 1
RSS
Выбор из выпадающего списка с подстановкой данных из справочника в другом месте
 
Доброго дня всем форумчанам! Хэлп. Есть файл направление к профпатологу. В строке Профессия есть выпадающий список, нужно связать профессию с кодом и наименование фактора из справочника. Что бы при выборе Профессии например санитарка на листе Направление подтягивался в поле код, код из листа Справочник и наименование фактора, столько кодов и факторов сколько напротив санитарки в листе Справочник.  
 
Цитата
В строке Профессия есть выпадающий список,
В примере не нашел
 
Лист Направление, следующая ячейка  в строк после Профессия там выбрана "санитарка"
 
Как-то так.
Код
=IFERROR(INDEX(Справочник!B$2:B$37,AGGREGATE(15,6,(ROW($A$2:$A$37)-ROW($A$2)+1)/(LOOKUP(ROW($A$2:$A$37),ROW($A$2:$A$37)/(Справочник!$A$2:$A$37<>0),Справочник!$A$2:$A$37)=$D$15),ROW(A1))),"")
 
Цитата
Антон Тетерев написал:
Лист Направление, следующая ячейка  в строк после Профессия там выбрана "санитарка"
в примере нет, отвалился список.
 
Антон Тетерев,
А зачем на листе Направление столько объединенных ячеек?
Без них никак?
 
Kuzmich, В принципе они не нужны. Попробую убрать, основное сделал Memo.

Супер!!! Огромнейшее СПАСИБО от меня и нашей бабушки Профпатолога!!! Это то что нужно. Спасибо
 
Поменял выпадающий список на отфильтрованный. Теперь профессии фильтруются формулой на листе Справочник в столбце Е. Формула в Менеджере Имен отсекает пустые ячейки.
Список можно пополнять до 100 записей (можно легко увеличить), и они автоматически добавятся в выпадающий список.
 
Если убрать объединенные ячейки и сделать выпадающий список в D15, то макрос в модуль листа Направление.
Срабатывает при выборе профессии из выпадающего списка.
Код
Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, Range("D15")) Is Nothing Then
 Dim FoundProf As Range
 Dim n As Integer
   Application.EnableEvents = False
  Range("A24:F27").ClearContents
  With Worksheets("Справочник")
    Set FoundProf = .Columns(1).Find(Target, , xlValues, xlWhole)
    If Not FoundProf Is Nothing Then
      n = FoundProf.MergeArea.Count
      .Range("B" & FoundProf.Row & ":B" & FoundProf.Row + n - 1).Copy Range("A24").Resize(n)
      .Range("C" & FoundProf.Row & ":C" & FoundProf.Row + n - 1).Copy Range("C24").Resize(n)
    End If
  End With
 End If
   Application.EnableEvents = True
End Sub
 
memo, Kuzmich, спасибо БОЛЬШОЕ очень помогли.  
 

Здравствуйте. Есть похожая задача. Нужен выпадающий список с подстановкой. Суть: при выборе «Фрукты», «Овощи», «Грибы» должны подтягиваться соответствующие им значения – фруктам фрукты, овощам овощи, ну и грибам грибы.

Нюансы:

·         надо скопировать все значения из группы с первого по последний, т.е. все фрукты, все овощи и грибы в каждом случае;

·         значения должны подтягиваться без формул в их ячейках;

·         подтянутые значения можно было бы менять после.

Другие способы чутка не подходят так как все значения подтягиваются через формулы и потом нельзя менять значения без потери формулы и снова подтягивать.

Страницы: 1
Наверх