Перейти к основному содержанию

Как вставить определенное количество строк через фиксированные интервалы в Excel?

На листе Excel вы можете вставить пустую строку между существующими строками с помощью функции Вставить. Но если у вас большой диапазон данных и вам нужно вставить две пустые строки после каждой третьей n-й строки, как вы могли бы завершить эту работу быстро и удобно?


Вставьте определенное количество пустых строк в диапазон данных через фиксированные интервалы с кодом VBA

Следующий код VBA может помочь вам вставить определенное количество строк после каждой n-й строки в существующих данных. Пожалуйста, сделайте следующее:

1. Удерживайте ALT + F11 ключи в Excel, и он открывает Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модулии вставьте следующий код в Окно модуля.

Код VBA: вставка определенного количества строк в данные через фиксированные интервалы

Sub InsertRowsAtIntervals()
'Updateby Extendoffice
Dim Rng As Range
Dim xInterval As Integer
Dim xRows As Integer
Dim xRowsCount As Integer
Dim xNum1 As Integer
Dim xNum2 As Integer
Dim WorkRng As Range
Dim xWs As Worksheet
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
xRowsCount = WorkRng.Rows.Count
xInterval = Application.InputBox("Enter row interval. ", xTitleId, 1, Type:=1)
xRows = Application.InputBox("How many rows to insert at each interval? ", xTitleId, 1, Type:=1)
xNum1 = WorkRng.Row + xInterval
xNum2 = xRows + xInterval
Set xWs = WorkRng.Parent
For i = 1 To Int(xRowsCount / xInterval)
    xWs.Range(xWs.Cells(xNum1, WorkRng.Column), xWs.Cells(xNum1 + xRows - 1, WorkRng.Column)).Select
    Application.Selection.EntireRow.Insert
    xNum1 = xNum1 + xNum2
Next
End Sub

3. После вставки этого кода нажмите F5 нажмите клавишу для запуска этого кода, появится всплывающее окно, напоминающее вам о выборе диапазона данных, в который вы хотите вставить пустые строки, см. снимок экрана:

4. Нажмите OK , появится другое окно подсказки, введите количество интервалов между строками, см. снимок экрана:

5. Продолжайте нажимать OK В следующем всплывающем окне подсказки введите количество пустых строк, которые вы хотите вставить, см. снимок экрана:

6. Затем нажмите OK, а пустые строки вставлялись в существующие данные через равные промежутки времени, см. снимки экрана:


Вставьте определенное количество пустых строк в диапазон данных на основе значений ячеек с кодом VBA

Иногда вам может потребоваться вставить пустые строки на основе списка значений ячеек, в этом случае приведенный ниже код VBA может оказать вам услугу, пожалуйста, сделайте следующее:

1. Удерживайте ALT + F11 ключи в Excel, и он открывает Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модулии вставьте следующий код в Окно модуля.

Код VBA: вставьте определенное количество пустых строк на основе списка чисел:

Sub Insertblankrowsbynumbers ()
'UpdatebyExtendoffice
Dim xRg As Range
Dim xAddress As String
Dim I, xNum, xLastRow, xFstRow, xCol, xCount As Long
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Select the spefic number column to use(single column):", "Kutools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
Application.ScreenUpdating = False
xLastRow = xRg(1).End(xlDown).Row
xFstRow = xRg.Row
xCol = xRg.Column
xCount = xRg.Count
Set xRg = xRg(1)
For I = xLastRow To xFstRow Step -1
xNum = Cells(I, xCol)
If IsNumeric(xNum) And xNum > 0 Then
Rows(I + 1).Resize(xNum).Insert
xCount = xCount + xNum
End If
Next
xRg.Resize(xCount, 1).Select
Application.ScreenUpdating = True
End Sub

3. После вставки этого кода нажмите F5 Чтобы запустить этот код, в появившемся диалоговом окне выберите список чисел, на основе которых вы хотите вставить пустые строки, см. снимок экрана:

4, Затем нажмите OK, и вы получите необходимые результаты, как показано на следующих снимках экрана:


Вставляйте определенное количество пустых строк в диапазон данных через фиксированные интервалы с помощью удобной функции

Если вы не знакомы с приведенным выше кодом VBA, Kutools for Excel также может помочь вам, это Вставить пустые строки и столбцы Функция может быстро и легко вставлять определенное количество строк или столбцов в существующие данные с фиксированными интервалами.

Примечание:Чтобы применить это Вставить пустые строки и столбцы , во-первых, вы должны скачать Kutools for Excel, а затем быстро и легко примените эту функцию.

После установки Kutools for Excel, пожалуйста, сделайте следующее:

1. Выберите диапазон данных, в который вы хотите вставлять пустые строки через определенные промежутки времени.

2. Нажмите Кутулс > Вставить > Вставить пустые строки и столбцы, см. снимок экрана:

3. В Вставить пустую строку и столбцы диалоговое окно, выберите Пустые строки вариант из Тип вставки, а затем укажите количество интервалов и пустых строк, которые вы хотите использовать, как показано на следующем снимке экрана:

4. Затем нажмите OK кнопку, и пустые строки были вставлены в выбранный диапазон с определенным интервалом, как показано на следующем снимке экрана:

Загрузите бесплатную пробную версию Kutools for Excel прямо сейчас!


Копируйте и вставляйте строки несколько раз на основе определенных чисел с кодом VBA

Предположим, у вас есть диапазон тада, и теперь вы хотите скопировать каждую строку и вставить их несколько раз в следующую строку на основе списка чисел, как показано на скриншотах ниже. Как решить эту задачу на листе Excel?

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

1. Удерживайте ALT + F11 ключи в Excel, и он открывает Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модулии вставьте следующий код в Окно модуля.

Код VBA: копируйте и вставляйте строки несколько раз в зависимости от конкретных чисел:

Sub CopyRows()
'UpdatebyExtendoffice
Dim xRg As Range
Dim xCRg As Range
Dim xFNum As Integer
Dim xRN As Integer
On Error Resume Next
SelectRange:
xTxt = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Select the list of numbers to copy the rows based on: ", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub

If xRg.Columns.Count > 1 Then
MsgBox "Please select single column!"
GoTo SelectRange
End If
Application.ScreenUpdating = False
For xFNum = xRg.Count To 1 Step -1
Set xCRg = xRg.Item(xFNum)
xRN = CInt(xCRg.Value)
With Rows(xCRg.Row)
.Copy
.Resize(xRN).Insert
End With
Next
Application.ScreenUpdating = True
End Sub

3. После вставки этого кода нажмите F5 Чтобы запустить этот код, в появившемся диалоговом окне выберите список чисел, которые вы хотите скопировать, и вставьте строки данных на основе, см. снимок экрана:

4, Затем нажмите OK кнопку, и определенное количество строк было скопировано и вставлено под каждой исходной строкой, см. снимки экрана:


Копируйте и вставляйте строки несколько раз на основе определенных чисел с удивительной функцией

Если вы только что Kutools for Excel, С его Повторяющиеся строки / столбцы на основе значения ячейки функция, вы можете быстро и легко вставлять строки или столбцы на основе списка чисел.

Примечание:Чтобы применить это Повторяющиеся строки / столбцы на основе значения ячейки, во-первых, вы должны скачать Kutools for Excel, а затем быстро и легко примените эту функцию.

После установки Kutools for Excel, пожалуйста, сделайте следующее:

1. Нажмите Кутулс > Вставить > Повторяющиеся строки / столбцы на основе значения ячейки, см. снимок экрана:

2. В Копировать и вставлять строки и столбцы диалоговое окно, выберите Копировать и вставлять строки вариант в Тип раздел, затем выберите диапазон данных, который вы хотите продублировать, а затем укажите список значений, на основе которых вы хотите копировать строки, см. снимок экрана:

4, Затем нажмите Ok or Применить кнопку, вы получите такой результат, как вам нужно:

Загрузите бесплатную пробную версию Kutools for Excel прямо сейчас!

Больше относительных статей:

  • Скопируйте и вставьте строку несколько раз или продублируйте строку X раз
  • Пробовали ли вы в своей повседневной работе скопировать строку или каждую строку, а затем несколько раз вставить ее под текущей строкой данных на листе? Например, у меня есть диапазон ячеек, теперь я хочу скопировать каждую строку и вставить их 3 раза в следующую строку, как показано на следующем снимке экрана. Как бы вы справились с этой работой в Excel?
  • Вставлять пустые строки при изменении значения в Excel
  • Предположим, у вас есть диапазон данных, и теперь вы хотите вставить пустые строки между данными при изменении значения, чтобы вы могли разделить последовательные одинаковые значения в одном столбце, как показано на следующих снимках экрана. В этой статье я расскажу о некоторых хитростях, которые помогут вам решить эту проблему.
  • Копирование строк из нескольких листов на основе критериев на новый лист
  • Предположим, у вас есть книга с тремя листами, которые имеют такое же форматирование, как показано на скриншоте ниже. Теперь вы хотите скопировать все строки из этих листов, столбец C которых содержит текст «Завершено», в новый лист. Как можно быстро и легко решить эту проблему, не копируя и не вставляя их вручную?

Лучшие инструменты для офисной работы

Популярные опции: Найдите, выделите или определите дубликаты   |  Удалить пустые строки   |  Объедините столбцы или ячейки без потери данных   |   Раунд без формулы ...
Супер поиск: Множественный критерий VLookup    VLookup с несколькими значениями  |   VLookup по нескольким листам   |   Нечеткий поиск ....
Расширенный раскрывающийся список: Быстрое создание раскрывающегося списка   |  Зависимый раскрывающийся список   |  Выпадающий список с множественным выбором ....
Менеджер столбцов: Добавить определенное количество столбцов  |  Переместить столбцы  |  Переключить статус видимости скрытых столбцов  |  Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка Фокус   |  Просмотр дизайна   |   Большой Формулный Бар    Менеджер книг и листов   |  Библиотека ресурсов (Авто текст)   |  Выбор даты   |  Комбинировать листы   |  Шифровать/дешифровать ячейки    Отправлять электронные письма по списку   |  Суперфильтр   |   Специальный фильтр (фильтровать жирным шрифтом/курсивом/зачеркиванием...) ...
15 лучших наборов инструментов12 Текст Инструменты (Добавить текст, Удалить символы, ...)   |   50+ График Тип (Диаграмма Ганта, ...)   |   40+ Практических Формулы (Рассчитать возраст по дню рождения, ...)   |   19 Вносимые Инструменты (Вставить QR-код, Вставить изображение из пути, ...)   |   12 Конверсия Инструменты (Числа в слова, Конверсия валюты, ...)   |   7 Слияние и разделение Инструменты (Расширенные ряды комбинирования, Разделить клетки, ...)   |   ... и более

Улучшите свои навыки работы с Excel с помощью Kutools for Excel и почувствуйте эффективность, как никогда раньше. Kutools for Excel предлагает более 300 расширенных функций для повышения производительности и экономии времени.  Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего...

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Comments (39)
Rated 5 out of 5 · 2 ratings
This comment was minimized by the moderator on the site
Marvelous vba script!
I had over 5000 rows that i need to add new rows to in between. All other guides told me to make "helper" column it would take me good part of my life to add 1,2 copy paste over and over again just to add new rows.
So, Thanks for this!
Rated 5 out of 5
This comment was minimized by the moderator on the site
hola, hay algun codigo que me permita copiar los datos, pero que en la primera columna que son fechas puedan ser consecutivas.

ejemplo

en vez de que quede asi

10/01/2022 19.258.369-4 Juan Ramirez
10/01/2022 19.258.369-4 Juan Ramirez
10/01/2022 19.258.369-4 Juan Ramirez

quede asi

10/01/2022 19.258.369-4 Juan Ramirez
11/01/2022 19.258.369-4 Juan Ramirez
12/01/2022 19.258.369-4 Juan Ramirez

gracias
This comment was minimized by the moderator on the site
hola, hay algun codigo que me permita copiar los datos, pero que en la primera columna que son fechas pueda ser consecutivo.

ejemplo

en vez de que quede asi

01/10/2022 19.258.369-4 Juan Ramirez
01/10/2022 19.258.369-4 Juan Ramirez
01/10/2022 19.258.369-4 Juan Ramirez

quede asi

01/10/2022 19.258.369-4 Juan Ramirez
02/10/2022 19.258.369-4 Juan Ramirez
03/10/2022 19.258.369-4 Juan Ramirez

gracias
This comment was minimized by the moderator on the site
Name Email Phone Address
0 Name Email Phone Adress
address line 2 Name Phone 0
Name Email Phone Adress
0 Name Email Phone Adress
address line 2 0


How could I edit this to start a new row at every empty value or 0 value without having phone numbers with 0 start a new row?
This comment was minimized by the moderator on the site
Hello, Jarrod

Sorry, I can't get your problem clearly.
Could you explain your problem more detailed? Or you can insert a screenshot or file here.
Thank you!
This comment was minimized by the moderator on the site
Вот выручили так выручили!
Сидел, ломал голову как добавить строки по заданному количеству.
Ваш макрос мне очень помог.
Rated 5 out of 5
This comment was minimized by the moderator on the site
can you tell me how to insert column like this way , what is the code
This comment was minimized by the moderator on the site
Hello friend,
You can use this VBA code:

Sub InsertColumnsAtIntervals()

'Updateby Extendoffice

Dim Rng As Range

Dim xInterval As Integer

Dim xColumns As Integer

Dim xColumnsCount As Integer

Dim xNum1 As Integer

Dim xNum2 As Integer

Dim WorkRng As Range

Dim xWs As Worksheet

xTitleId = "KutoolsforExcel"

Set WorkRng = Application.Selection

Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)

xColumnsCount = WorkRng.Columns.Count

xInterval = Application.InputBox("Enter column interval. ", xTitleId, 1, Type:=1)

xColumns = Application.InputBox("How many columns to insert at each interval? ", xTitleId, 1, Type:=1)

xNum1 = WorkRng.Column + xInterval

xNum2 = xColumns + xInterval

Set xWs = WorkRng.Parent

For i = 1 To Int(xColumnsCount / xInterval)

    xWs.Range(xWs.Cells(WorkRng.Row, xNum1), xWs.Cells(WorkRng.Row, xNum1 + xColumns - 1)).Select

    Application.Selection.EntireColumn.Insert

    xNum1 = xNum1 + xNum2

Next

End Sub


Sincerely,
Mandy
This comment was minimized by the moderator on the site
Muito obrigado, salvou meu trabalho, eu não tinha ideia de como fazer. Muito obrigado mesmo!
This comment was minimized by the moderator on the site
Hello,
You are welcome. Glad it helps. Any questions, please feel free to contact us. Have a great day.
Sincerely,
Mandy
This comment was minimized by the moderator on the site
This is so Cool!! Thanks a lot
This comment was minimized by the moderator on the site
Can I get the VBA code for deletion of rows based on duplicate values in a selected column keeping all unique values?
This comment was minimized by the moderator on the site
Hello, Roy,If you want to remove rows based on duplicate values, normally, you can use the Remove Duplicates feature in Excel to remove the rows.Of course, if you need a VBA code, please use the below code: (First, you should select the data range that you want to remove, and then run this code, the rows based on the duplicate values in the first column of your selection will be removed at once. )<div data-tag="code">Sub Delete_duplicate_rows()
Dim Rng As Range
Set Rng = Selection
Rng.RemoveDuplicates Columns:=Array(1), Header:=xlYes
End SubPlease try, hope it can help you!
This comment was minimized by the moderator on the site
Thank you author! You deserve the best commendation for these! But please could you help me out with the code to put a constant value into all blank rows I created with your code above? To make myself more clearer, I need to insert a constant value into all blank rows (this solved already with your code above) then I need to insert a constant value into all of the blank rows (this is my problem). Thank you as I expect your kind response.
This comment was minimized by the moderator on the site
Hello, Do you mean to fill blank rows with specific value? If so, mabe the following article cna help you:https://www.extendoffice.com/documents/excel/772-excel-fill-blank-cells-with-0-or-specific-value.html
Please try it.
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations