Note: The other languages of the website are Google-translated. Back to English

Як скопіювати та вставити рядок кілька разів або дублювати рядок x разів у Excel?

Чи намагалися ви у своїй щоденній роботі копіювати рядок або кожен рядок, а потім вставляти кілька разів нижче поточного рядка даних на аркуші? Наприклад, у мене є ряд комірок, тепер я хочу скопіювати кожен рядок і вставити їх 3 рази в наступний рядок, як показано на наступному знімку екрана. Як ви могли впоратися з цією роботою в Excel?


Скопіюйте та вставте певний рядок кілька разів за допомогою коду VBA

Якщо ви хочете продублювати лише один конкретний рядок x разів, наступний код VBA може вам допомогти, зробіть так:

1. Вкажіть рядок, який потрібно скопіювати та вставити кілька разів, а потім утримуйте клавішу ALT + F11 клавіші, потім відкриється Microsoft Visual Basic для додатків вікна.

2. Клацання Insert > Модуліта вставте наступний код у Модулі Вікно

Код 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. Клацання Insert > Модуліта вставте наступний код у Модулі Вікно

Код 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. Клацання Кутулс > Insert > Повторювані рядки / стовпці на основі значення комірки, див. скріншот:

3, в Скопіюйте та вставте рядки та стовпці діалогове вікно, виберіть Скопіюйте та вставте рядки опція в тип розділу, потім виберіть діапазон даних, який потрібно скопіювати, а потім вкажіть час повторення для продублювання рядків, див. знімок екрана:

4. Потім натисніть кнопку Ok or Застосовувати , ви отримаєте такий результат, як вам потрібно:

Натисніть, щоб завантажити Kutools для Excel та безкоштовну пробну версію зараз!


Найкращі інструменти для підвищення продуктивності офісу

Kutools для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%

  • Повторне використання: Швидко вставте складні формули, діаграми і все, що ви використовували раніше; Шифрувати комірки з паролем; Створити список розсилки та надсилати електронні листи ...
  • Супер формула бар (легко редагувати кілька рядків тексту та формули); Макет читання (легко читати та редагувати велику кількість комірок); Вставте у відфільтрований діапазон...
  • Об’єднати клітинки / рядки / стовпці без втрати даних; Вміст розділених комірок; Об'єднати повторювані рядки / стовпці... Запобігання дублюючим клітинам; Порівняйте діапазони...
  • Виберіть Повторюваний або Унікальний Рядки; Виберіть Пусті рядки (усі клітинки порожні); Супер знахідка та нечітка знахідка у багатьох робочих зошитах; Випадковий вибір ...
  • Точна копія Кілька клітинок без зміни посилання на формулу; Автоматичне створення посилань на кілька аркушів; Вставте кулі, Прапорці та інше ...
  • Витяг тексту, Додати текст, Видалити за позицією, Видаліть пробіл; Створення та друк проміжних підсумків підкачки; Перетворення вмісту комірок та коментарів...
  • Супер фільтр (зберегти та застосувати схеми фільтрів до інших аркушів); Розширене сортування за місяцем / тижнем / днем, частотою та іншим; Спеціальний фільтр жирним, курсивом ...
  • Поєднайте робочі зошити та робочі аркуші; Об’єднати таблиці на основі ключових стовпців; Розділіть дані на кілька аркушів; Пакетне перетворення xls, xlsx та PDF...
  • Понад 300 потужних функцій. Підтримує Office / Excel 2007-2021 і 365. Підтримує всі мови. Легке розгортання на вашому підприємстві чи в організації. 30-денна безкоштовна пробна версія повних функцій. 60-денна гарантія повернення грошей.
вкладка kte 201905

Вкладка Office забезпечує інтерфейс з вкладками для Office і значно спрощує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
Коментарі (32)
Поки немає оцінок. Оцініть першим!
Цей коментар був мінімізований модератором на сайті
Дякую!
Цей коментар був мінімізований модератором на сайті
Чудовий макрос - заощадив мені стільки часу!
Цей коментар був мінімізований модератором на сайті
дуже гарний макрос, друже!
Цей коментар був мінімізований модератором на сайті
я хочу генерувати повторювані рядки випадковим чином,

для напр. генерувати випадкові повторювані рядки від 20 до 80.


який буде оновлений код для наступного


Підрядні рядки()
'Оновлення Extendoffice 2016616
Dim I As Long
Dim xCount як ціле число
Номер етикетки:
xCount = Application.InputBox("Кількість рядків", "Kutools для Excel", , , , , , 1)
Якщо xCount < 1 Тоді
MsgBox "введена кількість рядків є помилкою, будь ласка, введіть ще раз", vbInformation, "Kutools для Excel"
Перейдіть до LableNumber
End If
Для I = Range("A" & Rows.CountLarge).End(xlUp).Row To 1 Step -1
Рядки(I).Копія
Рядки(I).Змінити розмір(xCount).Вставити
Далі
Application.CutCopyMode = Неправда
End Sub
Цей коментар був мінімізований модератором на сайті
Я хочу дублювати рядки на основі параметра. Наприклад, у мене є стовпець із назвою тривалість зустрічі. Якщо цей стовпець більше 1, я хочу скопіювати рядки ідентифікатора зустрічі на основі цього числа. Якщо тривалість зустрічі становить 2 години, дублюйте ідентифікатор зустрічі двічі. Якщо зустріч триває 3 години, повторіть тричі.
півгодини кроки можна округлити до години.

MeetingID Час початку Час закінчення Тривалість зустрічі
43117 9:00 11:00 02:00
43580 9:30 11:00 01:30
42699 10:00 11:30 01:30
12345 01:00 2:00 01:00
Цей коментар був мінімізований модератором на сайті
У мене така ж проблема. Ви знайшли рішення?
Цей коментар був мінімізований модератором на сайті
Привіт, народ,
Можливо, такий код VBA може зробити вам послугу, будь ласка, застосуйте його:
Підрядні рядки()
Dim I As Long
Dim xRg As Range
Світло xHour, xMin As Long
On Error Resume Next
Application.ScreenUpdating = Невірний
Для I = Range("D" & Rows.CountLarge).End(xlUp).Row To 1 Step -1
х година = 0
Встановіть xRg = діапазон ("D" і I)
xГодина = Година(xRg.Value) + 1
xMin = хвилина (xRg.Value)
Якщо xMin < 30, то xHour = xHour - 1
Рядки(I).Копія
Рядки(I).Змінити розмір(xHour).Insert
Далі
Application.ScreenUpdating = True
Application.CutCopyMode = Неправда
End Sub

Будь ласка, спробуйте. Сподіваюся, це може вам допомогти!
Цей коментар був мінімізований модератором на сайті
Я використовував ці макроси в минулому, і він завжди працював до останнього часу. Будь-яке розуміння, чому він дублює лише верхній рядок, навіть якщо використовується макрос із кількома рядками? Я видалив усі фільтри/заморожені панелі.
Цей коментар був мінімізований модератором на сайті
Привіт, як я можу змінити код, щоб включити наступне

1. дублікат на основі кількості днів
2. змінити стовпець EOM з кінця місяця на щоденну дату
Цей коментар був мінімізований модератором на сайті
Щиро дякую за підтримку!!!!
Цей коментар був мінімізований модератором на сайті
Код подобається! як встановити початковий діапазон, щоб пропустити перший рядок (заголовки стовпців) і почати з рядка 2?
Цей коментар був мінімізований модератором на сайті
Привіт, Девін,
Щоб пропустити перший рядок заголовка, застосуйте такий код VBA:

Підрядні рядки()
Dim I As Long
Dim xCount як ціле число
Номер етикетки:
xCount = Application.InputBox("Кількість рядків", "Kutools для Excel", , , , , , 1)
Якщо xCount < 1 Тоді
MsgBox "введена кількість рядків є помилкою, будь ласка, введіть ще раз", vbInformation, "Kutools для Excel"
Перейдіть до LableNumber
End If
Для I = Range("A" & Rows.CountLarge).End(xlUp).Row To 2 Step -1
Рядки(I).Копія
Рядки(I).Змінити розмір(xCount).Вставити
Далі
Application.CutCopyMode = Неправда
End Sub

Будь ласка, спробуйте, сподіваюся, це допоможе вам!
Цей коментар був мінімізований модератором на сайті
Привіт, мені потрібна допомога. Ось як виглядає моя таблиця, наприклад, коли я додаю 2 рядки в кінець моєї 1-ї таблиці, я хочу, щоб vba допоміг мені зробити те ж саме для таблиці нижче (додати 2 рядки в кінець таблиці). Отже, моє завдання полягатиме в тому, що потрібно лише додати рядки до 1-ї таблиці, наведена нижче таблиця автоматично генеруватиме рядки на основі номерів рядків у 1-й таблиці. це кодування, яке я використовував зараз, щоб додати рядок для 1-ї таблиці. Я сподіваюся, що хтось зможе вирішити цю проблему для мене, thx.Sub InsertNumRows()

ActiveCell.EntireRow.Copy

Приглушений дзвоник як довго

Application.DisplayAlerts = False
On Error Resume Next
Rng = InputBox("Введіть кількість необхідних рядків.")
При помилці GoTo 0
Application.DisplayAlerts = True

Якщо Rng = 0 Тоді
MsgBox "Ви не вказали діапазон!"
Exit Sub

Ще
Діапазон(ActiveCell.Offset(1, 0), ActiveCell.Offset(Rng, 0)).Вибрати
Selection.EntireRow.Insert Shift:=xlDown
End If

End Sub
Цей коментар був мінімізований модератором на сайті
Любіть це! Це працює щоразу! Щиро дякую за це :)
Цей коментар був мінімізований модератором на сайті
як це зробити для стовпців?
Цей коментар був мінімізований модератором на сайті
Як я можу це зробити для стовпців?
Цей коментар був мінімізований модератором на сайті
як виконати ту ж дію з виділеними клітинками за допомогою VB,


Мені потрібно повторити кілька виділених клітинок (рядків і стовпців) x кількість разів на тому самому аркуші та в тому ж порядку, як:

рядок1
рядок2
рядок3

рядок1
рядок2
рядок3
Цей коментар був мінімізований модератором на сайті
привіт, це спрацювало чудово, тільки мені потрібно скопіювати два рядки N кількість разів. Чи можете ви налаштувати код, щоб, коли я виберу два рядки, він копіював ці два рядки вниз N разів? спасибі за вашу допомогу
Цей коментар був мінімізований модератором на сайті
Привіт, Сал,
Якщо вам потрібно кілька разів скопіювати лише два рядки вниз, вам просто потрібно використати код VBA 1 у цій статті. Застосуйте код двічі, щоб вирішити вашу проблему. Будь ласка, спробуйте, сподіваюся, це допоможе вам!
Цей коментар був мінімізований модератором на сайті
Скопіюйте та вставте кожен рядок кілька разів за допомогою коду VBA

Як вибрати початковий рядок у коді VBA
Цей коментар був мінімізований модератором на сайті
Немає функцій для Windows 2019, тому користуйтеся функцією, щоб просто не використовувати її
Цей коментар був мінімізований модератором на сайті
привіт всім.. Наперед дякую за допомогу!!

Код VBA для багаторазового дублювання одного певного рядка працює ідеально, поки ви не скористаєтеся фільтром. Цікаво, чи може хтось допомогти мені вирішити цю проблему. Мені потрібен код, який працює, навіть якщо у вас відфільтровано деякі значення. Я використовую велику кількість даних, які сортуються за місцеположенням. Код частково працює, він вставляє кількість бажаного рядка, але без даних чи формату, коли я застосував фільтр.
Цей коментар був мінімізований модератором на сайті
Привіт, чи можна використовувати різні розміри (значення) для кожного рядка? Я намагаюся використовувати вектор, але він не працює.
Наприклад :
Рядки(I).Змінити розмір(xCount(y)).Вставити

Де значення, збережені в xCount(y), зчитуються з таблиці.
Цей коментар був мінімізований модератором на сайті
Привіт, Гасс,
Можливо, наведена нижче стаття може вам допомогти, будь ласка, перевірте її:
https://www.extendoffice.com/documents/excel/4054-excel-duplicate-rows-based-on-cell-value.html
Цей коментар був мінімізований модератором на сайті
Для другого коду VBA (код VBA: повторюйте кожен рядок кілька разів) я постійно отримую помилку часу виконання: 1004
There are no comments posted here yet
Load More
Залишайте свої коментарі
Публікація як гість
×
Оцініть цю публікацію:
0   Персонажі
Рекомендовані місця

Слідуй за нами

Copyright © 2009 - WWW.extendoffice.com. | Всі права захищені. На основі ExtendOffice. | Карта сайту
Microsoft та логотип Office є товарними знаками або зареєстрованими товарними знаками Microsoft Corporation у США та / або інших країнах.
Захищений Sectigo SSL