У вас слишком избыточная схема. Приведу вам один маленький пример, где я упростил ваш макрос "Селектор". Снимок.PNG
Я не претендую на оптимальность решения. Я делал по универсальному подходу, который подходит для решения процентов 60 решаемых задач. Оптимизацию считаю нужно делать, когда начинается нехватка ресурсов.