Это только 10 строк кода. SO не является кодовым sweatshop, где мы работаем для вас, это тот, где мы помогаем вам разобраться в себе.
Это будет опрашивать строки для вас идет в обратном направлении:
For X = Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1
Это является ключевым, потому что вы будете вставлять строки, идя вперед создает все рода гадости.
Затем вам понадобится петля внутри, используя ваше количество в качестве ссылки. Вот один я построил, но вам нужно будет внести некоторые изменения для того, чтобы работать для ваших колонок:
For Y = 1 To Range("B" & X).Value - 1
Затем вам нужно скопировать строку X внутри этой петли
Следующая строка будет вставка с сдвиньте вниз (например, Insert Shift:=xlDown
) на строку X + 1 или на смещение строки X на 1 строку, ваш выбор, как вы это делаете.
Последнее, что нужно сделать, это удалить столбец С, это может быть сделано как этот Range("C1").EntireColumn.Delete
То есть, весь макрос, просто бросить пару команд NEXT и End Sub и запустить его.
Вам нужно будет Dim X и Y, уменьшить их, как длинные.
Пойдите, если вы застряли после того, как отправили сообщение с кодом, который вы собрали вместе, и мы можем помочь вам исправить это.
Это можно сделать с помощью vba, но SO не является «кодом для меня». Посмотрите на итерацию или цикл через ячейки, вставку строк, копирование или заполнение и удаление столбца. –