Макрос для добавления строк в каждую строку

У меня есть следующий макрос, запущенный в моей электронной таблице Excel:

Sub yTest01() For i = 10 To 72 Step 2 Cells(i, 1).EntireRow.Insert Next i End Sub 

Он добавляет новую строку в каждую другую строку. Тем не менее, я хочу добавить по пять строк. Я попробовал следующее, но он не работает

 Sub yTest01() For i = 10 To 72 Step 2 Cells(i, 1).EntireRow.Insert Cells(i, 1).EntireRow.Insert Cells(i, 1).EntireRow.Insert Cells(i, 1).EntireRow.Insert Cells(i, 1).EntireRow.Insert Next i End Sub 

Любые идеи, что я могу сделать?

Я предполагаю, что вам нужна одна строка существующих данных, а затем 5 строк пробела. Попробуйте следующее

 Sub yTest01() For i = 72 To 10 Step -1 Cells(i, 1).EntireRow.Insert Cells(i, 1).EntireRow.Insert Cells(i, 1).EntireRow.Insert Cells(i, 1).EntireRow.Insert Cells(i, 1).EntireRow.Insert Next i End Sub 

если вы хотите, это две строки данных, затем пять пустых строк, затем измените шаг на -2

При добавлении или вычитании строк лучше всего переходить в обратную сторону.

В качестве лучшей практики я стараюсь сократить количество раз, когда VBA должен связываться через границу с Excel.

Поэтому вместо того, чтобы делать FIVE вызовы через границу для каждой вставки, лучше сделать один. Отступление назад может быть полезным, но это необязательно.

 For i = 0 To 62 * 6 Step 6 [10:10].Resize(5).Offset(i).Insert Next 

Примечание. Итерационные значения 0 и 62 – это просто номера строк OP, скорректированные так, чтобы начинаться с нуля.

почему это не работает и почему вы используете шаг 2? Вы могли бы переместить i 5 записей после перемещения строк?

 Sub yTest01() Dim i As Integer For i = 10 To 72 Step 1 Cells(i, 1).EntireRow.Insert Cells(i, 1).EntireRow.Insert Cells(i, 1).EntireRow.Insert Cells(i, 1).EntireRow.Insert Cells(i, 1).EntireRow.Insert i = i + 5 Next i End Sub 
Interesting Posts

Набор записей VBA Excel

Excel копирует строки и столбцы, но пропускает пробелы

DataGridView в Excel – номера, сохраненные как текст

Генерация отчетов ASP.NET MVC5

Имя файла Corrupted in VBA excel

excel выполняет оператор if внутри другого оператора if

Excel. Добавьте числа в столбец, учитывая, что они являются положительными, и учитывая, что они связаны со значением в строке

Улучшить время обработки расширенного фильтра

Специальная вставка в Excel в качестве стандарта

множественный vlookup из соседней ячейки

Добавить весь календарный год в сводную таблицу в Excel из образца с несколькими датами

VBA Переместите данные влево (нужно поместить 4 столбца в строку, может иметь пробел в пределах этих 4 столбцов, которые необходимо сохранить)

Экспорт значения FlexTable в excel

Первое исключение исключения типа «System.InvalidCastException» произошло в файле mscorlib.dll

Дифференциация между нулем и пробелом в Excel

Давайте будем гением компьютера.