Есть две ячейки: "Наименование" и "Размер". Обе ячейки со списками выбора. В зависимости от данных, которые установлены в ячейке "Наименование" в ячейке "Размер" список выбора должен меняться. При одном значении "Наименования" это один список, а при другом - это уже другой список.
Такое поведение, в смысле "связанные списки" - можно реализовать и без макроса, формулами на служебном листе. Формулы сами порождают события и грамотно их выполняют, без "дребезга". Листнеры только для этого - избыточны. Есть, конечно, места где без них 100% не обойтись - например во Writer при смене значения в полях типа Список. там штатных событий не возникает, и приходится создавать события для смены выделения, изменения текста итп.
Еще один способ реализации связанных списков - обновление диапазонов базы данных в Calc (на SQL) - очень быстро работает. То есть выбрали эл-т в контроле списке А - макросом обновили диапазон B, на который ссылается контрол С для выбора эл-та.