Всем добра. Имею большую таблицу в которой присутствует объединение ячеек как по столбцам так и по строкам. Необходимо чтобы заполнялись данные после выбора имени из выпадающего списка. Данным вопросом задался давно, форумы и гугл не помогли. Пример создал надеюсь понятно. Всем заранее спасибо за помощь.
Всем добра. Имею большую таблицу в которой присутствует объединение ячеек как по столбцам так и по строкам. Необходимо чтобы заполнялись данные после выбора имени из выпадающего списка. Данным вопросом задался давно, форумы и гугл не помогли. Пример создал надеюсь понятно. Всем заранее спасибо за помощь.89227932097
Если Вы хотите, что бы таблица заполнялась ингредиентами при выборе салата из списка, то, во первых, БД должна быть плоской, во вторых при заполнении накопительным итогом формулы Вам не помогут, надо макросом это делать
Здравствуйте
Если Вы хотите, что бы таблица заполнялась ингредиентами при выборе салата из списка, то, во первых, БД должна быть плоской, во вторых при заполнении накопительным итогом формулы Вам не помогут, надо макросом это делатьSerge_007
Зачем на разных листах это реализовано? И что именно должно происходить после выбора строки из выпадающего списка? Не проще просто на втором листе фильтр применить по полю с названием салата?
Зачем на разных листах это реализовано? И что именно должно происходить после выбора строки из выпадающего списка? Не проще просто на втором листе фильтр применить по полю с названием салата?psih
Сообщение отредактировал psih - Четверг, 22.04.2021, 12:36
Один лист будет использоваться как БД, второй нужен для того чтобы уместить всю информацию о продукте на экране. Количество столбцов с необходимой информации больше 30 и когда ставиться фильтр приходится постоянно ползунком двигать страницу в право что бы увидеть необходимую информацию. Если я посмотрю пример реализации то смогу применить его к своему файлу и разместить информацию не только по столбцам но и в несколько строк что позволит удобно просматривать информацию о продукте.
Один лист будет использоваться как БД, второй нужен для того чтобы уместить всю информацию о продукте на экране. Количество столбцов с необходимой информации больше 30 и когда ставиться фильтр приходится постоянно ползунком двигать страницу в право что бы увидеть необходимую информацию. Если я посмотрю пример реализации то смогу применить его к своему файлу и разместить информацию не только по столбцам но и в несколько строк что позволит удобно просматривать информацию о продукте.89227932097
Выпадающего списка не нашел Макрос в модуль листа Поиск, срабатывает при выборе салата из выпадающего списка в ячейке М4 [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("M4")) Is Nothing Then Application.EnableEvents = False Application.DisplayAlerts = False Dim FoundSalat As Range Dim iLastRow As Long iLastRow = Cells(Rows.Count, "F").End(xlUp).Row + 1 Range("E7:H" & iLastRow).UnMerge Range("E7:H" & iLastRow).Clear With Worksheets("БД") Set FoundSalat = .Columns(2).Find(WorksheetFunction.Trim(Target), , xlValues, xlWhole) If Not FoundSalat Is Nothing Then FoundSalat.Copy Range("E7").Resize(FoundSalat.MergeArea.Count) Range("E7").Resize(FoundSalat.MergeArea.Count).Merge .Range(.Cells(FoundSalat.Row, "C"), .Cells(FoundSalat.Row + FoundSalat.MergeArea.Count - 1, "C")).Copy Range("F7") FoundSalat.Offset(, 3).Copy Range("G7").Resize(FoundSalat.MergeArea.Count) Range("G7").NumberFormat = "dd.mm.yyyy" FoundSalat.Offset(, 2).Copy Range("H7").Resize(FoundSalat.MergeArea.Count) Range("G7").Resize(FoundSalat.MergeArea.Count).Merge Range("H7").Resize(FoundSalat.MergeArea.Count).Merge End If End With End If Application.EnableEvents = True Application.DisplayAlerts = True End Sub
[/vba]
Цитата
после выбора имени из выпадающего списка.
Выпадающего списка не нашел Макрос в модуль листа Поиск, срабатывает при выборе салата из выпадающего списка в ячейке М4 [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("M4")) Is Nothing Then Application.EnableEvents = False Application.DisplayAlerts = False Dim FoundSalat As Range Dim iLastRow As Long iLastRow = Cells(Rows.Count, "F").End(xlUp).Row + 1 Range("E7:H" & iLastRow).UnMerge Range("E7:H" & iLastRow).Clear With Worksheets("БД") Set FoundSalat = .Columns(2).Find(WorksheetFunction.Trim(Target), , xlValues, xlWhole) If Not FoundSalat Is Nothing Then FoundSalat.Copy Range("E7").Resize(FoundSalat.MergeArea.Count) Range("E7").Resize(FoundSalat.MergeArea.Count).Merge .Range(.Cells(FoundSalat.Row, "C"), .Cells(FoundSalat.Row + FoundSalat.MergeArea.Count - 1, "C")).Copy Range("F7") FoundSalat.Offset(, 3).Copy Range("G7").Resize(FoundSalat.MergeArea.Count) Range("G7").NumberFormat = "dd.mm.yyyy" FoundSalat.Offset(, 2).Copy Range("H7").Resize(FoundSalat.MergeArea.Count) Range("G7").Resize(FoundSalat.MergeArea.Count).Merge Range("H7").Resize(FoundSalat.MergeArea.Count).Merge End If End With End If Application.EnableEvents = True Application.DisplayAlerts = True End Sub
Kuzmich, Огромное спасибо что не прошли мимо)) Ваш код помог ответить на мою просьбу о помощи. В ходе редактирования кода под свою таблицу столкнулся со сложностью таблицы в которой ячейки по товару не идентичны и могут иметь другую структуру(в пример добавил). К сожалению сам решения не нашел, но подумал что может работа в форме как то облегчит данную задачу (по нажатию на кнопку находящейся на листе "БД"). Заранее спасибо всем за помощь.
Kuzmich, Огромное спасибо что не прошли мимо)) Ваш код помог ответить на мою просьбу о помощи. В ходе редактирования кода под свою таблицу столкнулся со сложностью таблицы в которой ячейки по товару не идентичны и могут иметь другую структуру(в пример добавил). К сожалению сам решения не нашел, но подумал что может работа в форме как то облегчит данную задачу (по нажатию на кнопку находящейся на листе "БД"). Заранее спасибо всем за помощь.89227932097
Kuzmich, Извиняюсь, файл не прикрепился. Суть такая же, и предложенный вами в первый раз вариант подходил, но появилось такое неординарное деление ячеек и я так и не смог переделать. У меня большая таблица и в ней находиться список Серверов с информацией, и один из столбцов это Серийный номер. Есть сервер как самостоятельная единица и у него значение одно, а есть где сервера в составе шасси и нужно указывать уже серийник и шасси и сервера (наверное с салатами я плохой пример придумал).
Kuzmich, Извиняюсь, файл не прикрепился. Суть такая же, и предложенный вами в первый раз вариант подходил, но появилось такое неординарное деление ячеек и я так и не смог переделать. У меня большая таблица и в ней находиться список Серверов с информацией, и один из столбцов это Серийный номер. Есть сервер как самостоятельная единица и у него значение одно, а есть где сервера в составе шасси и нужно указывать уже серийник и шасси и сервера (наверное с салатами я плохой пример придумал).89227932097