Прескочи на основното съдържание

Как да вмъкна определен брой редове на фиксирани интервали в Excel?

Автор: Xiaoyang Последна промяна: 2021-01-08

В работен лист на Excel можете да вмъкнете празен ред между съществуващите редове, като използвате функцията Insert. Но ако имате голям диапазон от данни и трябва да вмъкнете два празни реда след всеки трети или 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 за Excel също може да ви помогне, това е Вмъкване на празни редове и колони функцията може да вмъква конкретен брой редове или колони в съществуващи данни на фиксирани интервали бързо и лесно.

Забележка:За да приложите това Вмъкване на празни редове и колони , първо, трябва да изтеглите Kutools за Excelи след това приложете функцията бързо и лесно.

След инсталиране Kutools за Excel, моля, направете следното:

1. Изберете диапазона от данни, в който искате да вмъквате празни редове на интервали.

2. Щракнете Kutools > Поставете > Вмъкване на празни редове и колони, вижте екранна снимка:

3. В Вмъкване на празен ред и колони диалогов прозорец, изберете Празни редове опция от Въведете типаи след това задайте броя на интервалите и празните редове, които искате да използвате, както е показано на следната екранна снимка:

4, След това кликнете OK и празните редове са вмъкнати в избрания диапазон на определен интервал, както е показано на следната екранна снимка:

Изтеглете и изпробвайте безплатно Kutools за Excel сега!


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

Да предположим, че имате диапазон от tada и сега искате да копирате всеки ред и да ги поставите няколко пъти в следващия ред въз основа на списък с числа, както са показани екранните снимки по-долу. Как може да се реши тази задача в работен лист на 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 за Excel, Със своята Дублиране на редове / колони въз основа на стойността на клетката можете бързо и лесно да вмъквате редовете или колоните въз основа на списъка с числа.

Забележка:За да приложите това Дублиране на редове / колони въз основа на стойността на клетката, първо, трябва да изтеглите Kutools за Excelи след това приложете функцията бързо и лесно.

След инсталиране Kutools за Excel, моля, направете следното:

1. Щракнете Kutools > Поставете > Дублиране на редове / колони въз основа на стойността на клетката, вижте екранна снимка:

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

4, След това кликнете върху Ok or Добавете Обява бутон, ще получите следния резултат, както ви е необходим:

Изтеглете и изпробвайте безплатно Kutools за Excel сега!

Още относителни статии:

  • Копирайте и вмъкнете ред няколко пъти или дублирайте реда X пъти
  • В ежедневната си работа опитвали ли сте някога да копирате ред или всеки ред и след това да вмъкнете няколко пъти под текущия ред с данни в работен лист? Например, сега имам диапазон от клетки, искам да копирам всеки ред и да ги поставя 3 пъти в следващия ред, както е показано на следната екранна снимка. Как бихте могли да се справите с тази работа в Excel?
  • Вмъкване на празни редове, когато стойността се промени в Excel
  • Да предположим, че имате диапазон от данни и сега искате да вмъкнете празни редове между данните, когато стойността се промени, така че да можете да разделите последователните същите стойности в една колона, както са показани следните екранни снимки. В тази статия ще говоря за някои трикове за решаване на този проблем.
  • Копирайте редове от множество работни листове въз основа на критерии в нов лист
  • Да предположим, че имате работна книга с три работни листа, които имат същото форматиране като показаното по-долу екранно изображение. Сега искате да копирате всички редове от тези работни листове, чиято колона C съдържа текста „Завършено“ в нов работен лист. Как можете да разрешите този проблем бързо и лесно, без да ги копирате и поставяте един по един ръчно?

Най-добрите инструменти за продуктивност в офиса

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

Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време.  Щракнете тук, за да получите функцията, от която се нуждаете най-много...

Описание


Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна

  • Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
  • Увеличава вашата производителност с 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