Это должно быть нечто простое, при этом, такое, что даст ответ на все твои вопросы.
Вот теперь представь человека, который в жизни не электрик и ничего подобного никогда не проектировал. Разве это "нечто простое"?
Я уже не первый раз пишу, ну придумайте вы "кирпич" с двумя атрибутами, ну быстрее же помогут на форуме!!!!Так как мне лично не совсем понятно, что нужно сделать, то и писать я буду псевдокодом:
1. Самое первое, что тебе нужно сделать, как я понял, это определить границы блоков щитов в экселе. То есть нужно понять с какой строчки начинается блок 1 и на какой он заканчивается, то же самое нужно проделать для всех блоков.
Для этого ты декларируешь массив чисел и просто его заполняешь, пробегаясь по строчкам экселя.
То есть используешь цикл For от нуля до последней строки экселя, если, например, 1-й и 2-й столбцы нулевые, то есть равны "", то значит следующая строчка - это начало щита, в другой раз при таком же условии - предыдущая строчка будет концом щита. Таким образом, ты определяешь границы - то есть у тебя будет массив, у которого границами первого щита будут элементы с номером 0 и 1, второго - элементы с номером 2 и 3 и т.д.
2. Далее ты пробегаешься циклом по границам первого щита и смотришь, чтобы, например, в столбце 18 было не пустое значение, если оно не пустое, то вставляешь блок с нужными значениями. Все это будет выполняться в цикле без особых проблем. В цикле же задаешь приращение координат!
3. То же самое делаешь для остальных щитов.
Реальна ли задача для VBA?
Задача вполне решаемая для VBA, ничего сверхсложного нет!
Если хочешь помощи в виде кода, то, подготовь "кирпич" (это простой прямоугольный блок, например) с минимальный числом атрибутов, а также самый простой и понятный эксель. И распиши все так, чтобы не приходилось 10 раз перечитывать твое сообщение, уткнувшись в эксель, при этом я так и не разобрался - у меня остались вопросы, а сидеть и вникать - нет столько времени!.
Я вот уверен на 100%, если Вы сядете и попытаетесь четко сформулировать проблему, то более 50% Ваших вопросов отпадут!