Доброго времени суток. Прошу вас о помощи в следующем:
Имеется 2 одинаковых массива строк (по 3000 строк и 10 столбцов, или больше, не важно). В каждом из массивов имеется столбец с одинаковым значением, скажем для первого столбца значение "1", для второго "2" На листе они расположены по порядку, то есть сперва 3000 строк с значением "1" в контрольном столбце, затем 3000 строк с значением "2".
Задача: совместить оба массива так, чтобы их строки чередовались.
Пробовал добавить пустые строки после каждой заполненной строки макросом, нашел макрос на этом форуме. Добавить строки получилось, но вот как совместить оба массива я не могу ни придумать, ни найти решение.
Ну так макросом и перекладывайте. Только вот расскажите - размеры/расположение блоков известны, или из тоже нужно в коде определять? А ещё можно делать протягиванием формулы.
Ну так я и пришел к знатокам макросов за помощью, может кто подскажет уже существующий макрос. Расположение и размеры? Да абсолютно любые, я думаю. Если я верно понимаю, при добавлении и перемещении строк совершенно нет разницы сколько и каких ячеек в строке мы перемещаем. По поводу протягивания формулы - мне надо не получить чередование единиц и двоек, а получить чередование именно строк. А в строках в свою очередь может быть МНОЖЕСТВО ЛЮБЫХ значений, вплоть до пределов границ экселя. Я же сразу написал, что обрабатываем массив. А не просто два столбца.
Прошу прощения, если сумбурно объясняюсь. Под конец рабочего дня голова плохо соображает.
Ещё раз - размеры/расположение блоков известны, или их тоже нужно в коде определять? Ну а про 1/2 - могли бы чтоб народ не путать сделать соответвтующий пример. Хотя конечно понятно, если подумать
Hugo написал: Ещё раз - размеры/расположение блоков известны, или их тоже нужно в коде определять? Ну а про 1/2 - могли бы чтоб народ не путать сделать соответвтующий пример. Хотя конечно понятно, если подумать
Я бы выложил требуемый файл, только он мне щас не доступен. Поэтому постарался показать на единицах и двойках, видать не получилось.
Размеры и позиции - если речь о ширине/высоте и адресе ячеек в координатной сетке экселя, то да, они отформатированы по шаблону и не меняются. Попробую объяснить иначе:
1. Первый массив - сдвигаем строки на 1 вниз (добавляем между каждой заполненной строкой по 1 пустой строке); 2. Второй массив - процедура аналогичная пункту 1; 3. Совмещаем оба массива путем трансфера второго в первый, совмещая пустый строки первого с заполненными строками второго, соответственно также совмещаем пустые строки второго с заполненными строками первого;
Сработало, но столбец сменил свое положение (или создал новый). А нужно не меняя положения ячеек по горизонтали и не создавая новых, перетасовать их в нужном порядке.
На то же место не получится так просто - поэтому скопировал на другое место. Ну так в конце процесса перенесите результат куда угодно - можно вручную, а можете записать рекордером в макрос.
Hugo написал: На то же место не получится так просто - поэтому скопировал на другое место. Ну так в конце процесса перенесите результат куда угодно - можно вручную, а можете записать рекордером в макрос.
В моем случае только макросом, ибо количество строк может достигать и 10000. Но дело в том, что я в VBА в частности да и в программировании в целом не очень разбираюсь. Почти никак.
Поясняю: для первых 5к строк в один клик делаете нечетную автопрогрессию, для следующих 5к - четную, затем просто сортируете весь рабочий диапазон по столбцу с данными прогрессии.