Групповое перемещение квадратов под прямым углом

Здравствуйте.

Появился вопрос по макросу.

Имеется макрос, который совершает ортогональный сдвиг нескольких квадратов.

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

Однако двигать можно только красный квадрат - на остальные квадраты сдвиг не действует.

Подскажите - как изменить этот макрос, чтобы подобный сдвиг выполнялся при перетаскивании любого из представленных на листе квадратов.