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

Как да копирате и вмъкнете ред няколко пъти или да дублирате реда x пъти в Excel?

Автор: Xiaoyang Последна промяна: 2023-05-04

В ежедневната си работа опитвали ли сте някога да копирате ред или всеки ред и след това да вмъкнете няколко пъти под текущия ред с данни в работен лист? Например, сега имам диапазон от клетки, искам да копирам всеки ред и да ги поставя 3 пъти в следващия ред, както е показано на следната екранна снимка. Как бихте могли да се справите с тази работа в Excel?


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

Ако искате да дублирате само един конкретен ред x пъти, следният VBA код може да ви помогне, моля, направете следното:

1. Посочете ред, който искате да копирате и вмъкнете няколко пъти, след което задръжте ALT + F11 ключове, след това отваря Microsoft Visual Basic за приложения прозорец.

2. Щракнете Поставете > Модулии поставете следния код в Модули Window.

VBA код: Дублирайте един конкретен ред няколко пъти:

Sub test()
'Updateby Extendoffice
    Dim xCount As Integer
LableNumber:
    xCount = Application.InputBox("Number of Rows", "Kutools for Excel", , , , , , 1)
    If xCount < 1 Then
        MsgBox "the entered number of rows is error, please enter again", vbInformation, "Kutools for Excel"
        GoTo LableNumber
    End If
    ActiveCell.EntireRow.Copy
    Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(xCount, 0)).EntireRow.Insert Shift:=xlDown
    Application.CutCopyMode = False
End Sub

3. След като поставите кода, моля, натиснете F5 ключ, за да изпълните този код, и се появява поле за подкана, за да ви напомни да въведете броя пъти, които искате да дублирате, вижте екранната снимка:

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


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

Обикновено няма добър метод за копиране и вмъкване на редове многократно, освен ръчно копиране и вмъкване. Но със Kutools за Excel's Дублиране на редове / колони въз основа на стойността на клетката функция, можете да разрешите този проблем с лекота. Щракнете, за да изтеглите Kutools за Excel!

Kutools за Excel: с повече от 300 удобни добавки за Excel, безплатни за изпробване без ограничение за 60 дни. Изтеглете и изпробвайте безплатно сега!


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

За да дублирате всеки ред няколко пъти в диапазон, можете да приложите следния VBA код, моля, направете следното:

1. Задръжте натиснат ALT + F11 ключове, след това отваря Microsoft Visual Basic за приложения прозорец.

2. Щракнете Поставете > Модулии поставете следния код в Модули Window.

VBA код: Дублирайте всеки ред няколко пъти:

Sub insertrows()
'Updateby Extendoffice
Dim I As Long
Dim xCount As Integer
LableNumber:
xCount = Application.InputBox("Number of Rows", "Kutools for Excel", , , , , , 1)
If xCount < 1 Then
MsgBox "the entered number of rows is error ,please enter again", vbInformation, "Kutools for Excel"
GoTo LableNumber
End If
For I = Range("A" & Rows.CountLarge).End(xlUp).Row To 2 Step -1
Rows(I).Copy
Rows(I).Resize(xCount).Insert
Next
Application.CutCopyMode = False
End Sub

3. И след това натиснете F5 ключ, за да изпълните този код, и се появява поле за подкана, за да ви напомни да въведете броя пъти, които искате да дублирате за всеки запис, вижте екранната снимка:

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

Забележка: В горния код, A показва, че диапазонът от данни започва от колона A, ако вашите данни започват от колона K, моля, променете A да се K според вашите нужди.


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

Може би не сте запознати с кода на VBA или се притеснявате, че кодът ще срине вашите данни. Тук ще представя една полезна функция, Kutools за Excel's Дублиране на редове / колони въз основа на стойността на клетката, с тази помощна програма можете бързо да копирате и вмъквате редовете въз основа на посочения от вас номер.

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

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

1. Въведете повтарящите се числа, които искате да дублирате редове в списък с клетки до вашите данни, вижте екранната снимка:

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

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

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

Щракнете, за да изтеглите Kutools за Excel и безплатна пробна версия сега!

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

🤖 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 (32)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Halo

Ik heb een zoek programma gemaakt met VBA die de cel van het gezocht item groen maakt
Bijv. saldo 1 euro komt 3x voor in een blad ( B2 t/m F16 )
Dan maakt hij 3x de cel Saldo 1 euro groen
Nou zou ik graag willen dat hij deze 3 items kopieert op hetzelfde blad in kolom H
Wie weet hoe je dit moet schrijven in een Macro

B.v.d. Michel
This comment was minimized by the moderator on the site
Bonjour,
J'ai pu tester ce code (celui en haut du post) pour dupliquer plusieurs lignes autant de fois que le nombre présent dans la dernière colonne. Cela fonctionne très bien, Merci.
Par contre, dans une des colonnes, il y a une date de début. Je voudrais que cette date s'incrémente automatiquement lors de la duplication.
Pouvez vous m'aider s'il vous plait, je ne trouve pas la réponse sur internet ?
Merci par avance.
This comment was minimized by the moderator on the site
It took more time to make google understand what I want, But after I found this page, it takes a few minutes to get what I was searching for. Many thanks 👍
This comment was minimized by the moderator on the site
I desire to have the VBA Code for Copy And Insert Each Row Multiple Times Based On A Specific Number , please assist, Thank you
This comment was minimized by the moderator on the site
Hi, Carl,To copy and insert the rows multiple times based on specific numbers, please apply the below code:<div data-tag="code">Sub CopyRow()
'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 SubPlease try, hope it can help you!
This comment was minimized by the moderator on the site
skyyang not work!
This comment was minimized by the moderator on the site
This code works great. I have a situation where I am using Excel as a quote form. Worksheet one is the actual bid, and worksheet two is our cost page. When I insert the copied rows, I need it to do so on both pages. I have tried adding some code to select both pages, but it does not seem to work. Any help is greatly appreciated.
This comment was minimized by the moderator on the site
For the second VBA code (VBA code: Duplicate each row multiple times) I keep getting as run time error: 1004
This comment was minimized by the moderator on the site
Hello, is it possible to use different sizes(values) for each row? I am trying using vector, but it is not working.
For instance :
Rows(I).Resize(xCount(y) ).Insert

Where the values saved in xCount(y) are read from a table.
This comment was minimized by the moderator on the site
Hello, Guss,
May be the below article can help you, please check it:
https://www.extendoffice.com/documents/excel/4054-excel-duplicate-rows-based-on-cell-value.html
This comment was minimized by the moderator on the site
hi everyone.. Thank you in advance for you help!!

The VBA code to duplicate one specific row multiple times work perfectly until you use a filter. I wonder if someone can help me to solve this issue. I need a code that work even if you have some values filtered. I am using a large amount of data that is sort by locations. The code partially work, it pastes the number of row desire but no data or format when I have applied a filter.
This comment was minimized by the moderator on the site
No funciona con Windows 2019, deseo usar la función en mención pero simplemente no hace absolutamente nada
This comment was minimized by the moderator on the site
Copy And Insert Each Row Multiple Times With VBA Code

In VBA code how can I select the starting row
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