Страницы: 1
RSS
Автоматически обновляемый зависимый выпадающий список
 

Подскажите, возможно ли сделать автоматическое обновление выпадающего списка?
Допустим у нас есть категории "Овощи" и "Фрукты". Так же есть ячейка товар. Я создал зависимый выпадающий список и в ячейке товара выпадает только то, что принадлежит одной из категорий.

Но вот есть проблема. Если мы выбрали категорию "Овощи", а в выпадающем списке товара, например огурец, затем мы меняем категорию на "Фрукты", а вот товар так и остался огурец, до тех пор пока я сам его не обновлю. Как сделать так, чтобы в ячейке товара автоматом загружался выпадающий список с нужной категорией товаров?

Проще говоря, чтобы не получалась такая лабуда, как на картинке. Скриншот из таблицы примера по уроку "Связанные (зависимые) выпадающие списки"

 
BruceONeel, Как вариант загляните сюда. Может вам поможет.
 
Цитата
BruceONeel написал:  Я создал зависимый выпадающий список...
В модуль листа с вып.списками.
Основной список в ячейке 'A1', зависимый в ячейке 'B1'
Код
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("A1")) Is Nothing And Target.Count = 1 Then
  Application.ScreenUpdating = False
  Application.EnableEvents = False
  Range("B1").ClearContents
End If
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Согласие есть продукт при полном непротивлении сторон
 
Цитата
написал:
В модуль листа с вып.списками.
Всё работает. Удобно. Спасибо.
А что если мне несколько выпадающих списков прописать нужно? Я просто совсем не разбираюсь в этих кодах. Как их перечислить?
 
Файл-пример (Excel) приложите. Как есть - Как надо
Код
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
'основные выпадающие списки в диапазоне 'A1:A10'
If Not Intersect(Target, Range("A1:A10")) Is Nothing And Target.Count = 1 Then
  Application.ScreenUpdating = False
  Application.EnableEvents = False
  'зависимый список в соседней ячейке справа
  Target.Offset(, 1).ClearContents
End If
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Изменено: Sanja - 07.03.2026 14:38:17
Согласие есть продукт при полном непротивлении сторон
 
Цитата
написал:
Файл-пример (Excel) приложите. Как есть - Как надо
В вашем примере указан диапазон, но у меня выпадающие списки разбросаны по всему листу, но есть и диапазоны.
Вот к примеру в моей таблице:
Первая вкладка "35-Э Вешалка настенная". Диапазон D6:D24 (Основной список) H6:H24 (зависимый список, еще не доделал)
Далее, A42 (основной список), A43:A66 (зависимый список)
D42 (основной), D43:D66 (зависимый)
G42 (основной), G43:G66 (зависимый)
J42 (основной), J43:J66 (зависимый)
И эти списки еще будут дополняться.
 
Посмотрите вариант
Изменено: gling - 07.03.2026 22:00:16
 
Цитата
написал:
Посмотрите вариант
Вы в другой теме ответили по другому моему вопросу. Но да ладно.
Я не могу понять как считается себестоимость. Вы её туда добавили, но цена не сходится. Формула уж очень длинная. Выходит 1590 руб.
1 м² зеркала стоит 1270 руб. + упаковка гофра 150 руб + плёнка безопасности 180 руб за 1 м² + фацет 5 и 10 мм 140 руб за пог. м. (4 стороны = 560 руб)
Итого: 1270+150+180+560= 2160 руб. Я даже не пойму что за цифра 1590, ведь если вычесть стоимость зеркала 1270, то получаются 320 руб, что никак и ни с чем не вяжется и не делится. Это, похоже будет моя следующая сверх сложная задача для решения, т.к. очень много переключаемых параметров.
 
Цитата
написал:
Я не могу понять как считается себестоимость.
Отправлял файл не для разбора формулы по себестоимости, а по изменению данных в ячейках при изменении выбора из выпадающего списка.
Про формулы о себестоимости можно будет поговорить позже, в другой теме. Это был пример использования СУММЕСЛИ(), так как я не понял чего вы хотите посчитать, и соответственно составил формулу так как я понял, не зная всех нужных к учёту параметров.
 
Цитата
написал:
Это был пример использования СУММЕСЛИ(), так как я не понял чего вы хотите посчитать, и соответственно составил формулу так как я понял, не зная всех нужных к учёту параметров.
Проблема была решена в другой теме. Мне помог ваш совет, спасибо.
 
Sanja, Прошу ответить по моему последнему вопросу к вам:
Цитата
написал:
В вашем примере указан диапазон, но у меня выпадающие списки разбросаны по всему листу, но есть и диапазоны.Вот к примеру в моей таблице:Первая вкладка "35-Э Вешалка настенная". Диапазон D6:D24 (Основной список) H6:H24 (зависимый список, еще не доделал)Далее, A42 (основной список), A43:A66 (зависимый список)D42 (основной), D43:D66 (зависимый)G42 (основной), G43:G66 (зависимый)J42 (основной), J43:J66 (зависимый)И эти списки еще будут дополняться.
 
Цитата
написал:
Прошу ответить по моему последнему вопросу
А в чём вопрос то? При дополнении списков, в макросах листа надо будет добавлять эти диапазоны.
 
Цитата
написал:
А в чём вопрос то? При дополнении списков, в макросах листа надо будет добавлять эти диапазоны.
а как их добавлять? Как их перечислить? Я в программном коде вообще не разбираюсь. Да я экселем пользоваться 3 дня назад начал.  
 
Цитата
написал:
Я в программном коде вообще не разбираюсь.
Придётся немного подучиться, если не хотите всё время кого-то просить.
Посмотрите ЗДЕСЬ и зайдите на Модуль листа, там увидите макросы с перечисленными диапазонами, по такому же принципу можно добавить и новый диапазон.
Страницы: 1
Читают тему
Наверх