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

Jak wielokrotnie kopiować i wstawiać wiersz lub powielać wiersz x razy w programie Excel?

Czy w swojej codziennej pracy próbowałeś kiedyś skopiować wiersz lub każdy wiersz, a następnie wstawić wiele razy poniżej bieżącego wiersza danych w arkuszu? Na przykład mam zakres komórek, teraz chcę skopiować każdy wiersz i wkleić je 3 razy do następnego wiersza, jak pokazano na zrzucie ekranu. Jak mógłbyś sobie poradzić z tą pracą w Excelu?


Skopiuj i wstaw wielokrotnie określony wiersz za pomocą kodu VBA

Jeśli chcesz zduplikować tylko jeden określony wiersz x razy, następujący kod VBA może Ci pomóc, wykonaj następujące czynności:

1. Określ wiersz, który chcesz skopiować i wstawić wiele razy, a następnie przytrzymaj klawisz ALT + F11 klucze, a następnie otwiera Microsoft Visual Basic for Applications okno.

2, Kliknij wstawka > Modułi wklej następujący kod w Moduł Okno.

Kod VBA: Powiel jeden określony wiersz wiele razy:

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. Po wklejeniu kodu naciśnij F5 klucz do uruchomienia tego kodu i pojawi się okno zachęty przypominające o wpisaniu liczby kopii, które chcesz powielić, patrz zrzut ekranu:

4. Następnie kliknij OK przycisk, a trzy nowe skopiowane wiersze zostały wstawione poniżej wybranego wiersza, patrz zrzut ekranu:


Łatwo kopiuj i wstawiaj każdy wiersz wiele razy na podstawie określonej liczby

Zwykle nie ma dobrej metody wielokrotnego kopiowania i wstawiania wierszy, z wyjątkiem ręcznego kopiowania i wstawiania. Ale z Kutools dla programu Excel's Zduplikowane wiersze / kolumny na podstawie wartości komórki możesz z łatwością rozwiązać ten problem. Kliknij, aby pobrać Kutools dla programu Excel!

Kutools dla programu Excel: z ponad 300 poręcznymi dodatkami do programu Excel, które można wypróbować bez ograniczeń w ciągu 60 dni. Pobierz i bezpłatną wersję próbną teraz!


Skopiuj i wstaw każdy wiersz wiele razy za pomocą kodu VBA

Aby zduplikować każdy wiersz wiele razy w zakresie, możesz zastosować następujący kod VBA, wykonaj następujące czynności:

1. Przytrzymaj ALT + F11 klucze, a następnie otwiera Microsoft Visual Basic for Applications okno.

2, Kliknij wstawka > Modułi wklej następujący kod w Moduł Okno.

Kod VBA: Powiel każdy wiersz wiele razy:

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. A następnie naciśnij F5 klucz do uruchomienia tego kodu i pojawi się okno zachęty przypominające o wprowadzeniu liczby powtórzeń, które chcesz powielić dla każdego rekordu, patrz zrzut ekranu:

4. Następnie kliknij OK, a każdy wiersz został skopiowany i wstawiony 3 razy poniżej aktywnych, patrz zrzut ekranu:

Uwagi: W powyższym kodzie A wskazuje, że zakres danych zaczyna się w kolumnie A, jeśli dane zaczynają się w kolumnie K, proszę zmień A do K jako twoja potrzeba.


Skopiuj i wstaw każdy wiersz wiele razy na podstawie określonej liczby z niesamowitą funkcją

Być może nie znasz kodu VBA lub martwisz się, że kod spowoduje awarię danych. Tutaj przedstawię przydatną funkcję, Kutools dla programu Excel's Zduplikowane wiersze / kolumny na podstawie wartości komórkiza pomocą tego narzędzia można szybko kopiować i wstawiać wiersze na podstawie określonej liczby.

Porady:Aby to zastosować Zduplikowane wiersze / kolumny na podstawie wartości komórki Po pierwsze, należy pobrać plik Kutools dla programu Excel, a następnie szybko i łatwo zastosuj tę funkcję.

Po zainstalowaniu Kutools dla programu Excel, zrób tak:

1. Wprowadź powtarzające się liczby, które chcesz powielić wiersze na liście komórek obok danych, zobacz zrzut ekranu:

2, Kliknij Kutools > wstawka > Zduplikowane wiersze / kolumny na podstawie wartości komórkizobacz zrzut ekranu:

3, w Skopiuj i wstaw wiersze i kolumny okno dialogowe, wybierz Skopiuj i wstaw wiersze opcja w Typ , a następnie wybierz zakres danych, który chcesz powielić, a następnie określ czas powtarzania, aby zduplikować wiersze, zobacz zrzut ekranu:

4. Następnie kliknij Ok or Zastosuj przycisk, otrzymasz taki wynik, jak potrzebujesz:

Kliknij, aby pobrać Kutools dla programu Excel i bezpłatną wersję próbną teraz!


Najlepsze narzędzia biurowe

Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%

  • Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
  • Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
  • Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
  • Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
  • Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
  • Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
  • Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
  • Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
  • Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2021 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowa bezpłatna wersja próbna. 60-dniowa gwarancja zwrotu pieniędzy.
karta kte 201905

Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
officetab dół
Sortuj komentarze według
Komentarze (32)
Brak ocen. Oceń jako pierwszy!
Ten komentarz został zminimalizowany przez moderatora na stronie
Dziękuję Ci!
Ten komentarz został zminimalizowany przez moderatora na stronie
Awesome Macro - Oszczędziłem mi tyle czasu!
Ten komentarz został zminimalizowany przez moderatora na stronie
naprawdę fajny kolega makro!
Ten komentarz został zminimalizowany przez moderatora na stronie
chcę losowo generować duplikaty wierszy,

dla np. generuj losowe zduplikowane wiersze od 20 do 80.


co zostanie zaktualizowany kod dla następujących?


Podrzędne wiersze()
„Aktualizuj do” Extendoffice 2016616
Dim I tak długo
Dim xCount jako liczba całkowita
Numer etykiety:
xCount = Application.InputBox("Liczba wierszy", "Kutools for Excel", , , , , , 1)
Jeśli xCount < 1 Wtedy
MsgBox "wprowadzona liczba wierszy jest błędem, wprowadź ponownie", vbInformation, "Kutools for Excel"
Idź do numeru etykiety
End If
For I = Range("A" & Rows.CountLarge).End(xlUp).Row To 1 Step -1
Wiersze(I).Kopiuj
Wiersze(I).Zmień rozmiar(xLiczba).Wstaw
Dalej
Application.CutCopyMode = False
End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Chcę powielić wiersze na podstawie parametru. Na przykład mam kolumnę o nazwie czas trwania spotkania. Jeśli ta kolumna ma więcej niż 1, chcę zduplikować wiersze identyfikatorów spotkania na podstawie tej liczby. Jeśli czas trwania spotkania wynosi 2 godziny, zduplikuj identyfikator spotkania dwa razy. Jeśli spotkanie trwa 3 godziny, powtórz trzy razy.
półgodzinne przyrosty mogą być zaokrąglane do godziny.

MeetingID Godzina rozpoczęcia Godzina zakończenia Czas trwania spotkania
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
Ten komentarz został zminimalizowany przez moderatora na stronie
Mam ten sam problem. Znalazłeś rozwiązanie?
Ten komentarz został zminimalizowany przez moderatora na stronie
Hi guys,
Może być następujący kod VBA może ci wyświadczyć przysługę, zastosuj go:
Podrzędne wiersze()
Dim I tak długo
Dim xRg jako zakres
Dim xHour, xMin As Long
On Error Resume Next
Application.ScreenUpdating = Fałsz
For I = Range("D" & Rows.CountLarge).End(xlUp).Row To 1 Step -1
xGodzina = 0
Ustaw xRg = Zakres("D" & I)
xGodzina = Godzina(xRg.Wartość) + 1
xMin = Minuta(xRg.Wartość)
Jeśli xMin < 30 Wtedy xHour = xHour - 1
Wiersze(I).Kopiuj
Wiersze(I).Resize(xHour).Insert
Dalej
Application.ScreenUpdating = True
Application.CutCopyMode = False
End Sub

Proszę spróbować. Mam nadzieję, że może ci to pomóc!
Ten komentarz został zminimalizowany przez moderatora na stronie
Używałem tego makra w przeszłości i zawsze działał do niedawna. Jakiś wgląd, dlaczego powielałby tylko górny wiersz, nawet przy użyciu makr z wieloma wierszami? Usunąłem wszystkie filtry/zamrożone szyby.
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, jak mogę zmienić kod, aby zawierał następujące elementy?

1. duplikat na podstawie liczby dni
2. zmień kolumnę EOM z końca miesiąca na datę dzienną
Ten komentarz został zminimalizowany przez moderatora na stronie
Naprawdę dziękuję za wsparcie !!!!
Ten komentarz został zminimalizowany przez moderatora na stronie
Uwielbiam kod! jak ustawić zakres początkowy, aby pominąć pierwszy wiersz (nagłówki kolumn) i zacząć od wiersza 2?
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, Devin,
Aby pominąć pierwszy wiersz nagłówka, zastosuj następujący kod VBA:

Podrzędne wiersze()
Dim I tak długo
Dim xCount jako liczba całkowita
Numer etykiety:
xCount = Application.InputBox("Liczba wierszy", "Kutools for Excel", , , , , , 1)
Jeśli xCount < 1 Wtedy
MsgBox "wprowadzona liczba wierszy jest błędem, wprowadź ponownie", vbInformation, "Kutools for Excel"
Idź do numeru etykiety
End If
For I = Range("A" & Rows.CountLarge).End(xlUp).Row To 2 Step -1
Wiersze(I).Kopiuj
Wiersze(I).Zmień rozmiar(xLiczba).Wstaw
Dalej
Application.CutCopyMode = False
End Sub

Spróbuj, mam nadzieję, że ci pomoże!
Ten komentarz został zminimalizowany przez moderatora na stronie
Witam, potrzebuję pomocy, tak wygląda moja tabela, na przykład, kiedy dodam 2 wiersze na końcu mojej pierwszej tabeli, chcę, aby vba pomógł mi zrobić to samo dla tabeli poniżej (dodaj 1 wiersze na koniec tabeli). Więc moim zadaniem będzie, wystarczy dodać wiersze w pierwszej tabeli, tabela poniżej wygeneruje wiersze automatycznie na podstawie numerów wierszy w pierwszej tabeli. są to kodowanie, którego użyłem teraz, aby dodać wiersz dla pierwszej tabeli. Mam nadzieję, że ktoś może rozwiązać ten problem za mnie, thx.Sub InsertNumRows()

ActiveCell.Cały wiersz.Kopiuj

Dim Rng tak długo

Application.DisplayAlerts = False
On Error Resume Next
Rng = InputBox("Wprowadź liczbę wymaganych wierszy.")
Przy błędzie GoTo 0
Application.DisplayAlerts = True

Jeśli Rng = 0 Wtedy
MsgBox "Nie określiłeś zakresu!"
Exit Sub

Więcej
Zakres(ActiveCell.Offset(1, 0), ActiveCell.Offset(Rng, 0)).Wybierz
Selection.EntireRow.Insert Shift:=xlDown
End If

End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Kocham to! Działa za każdym razem! Dziękuję bardzo za to :)
Ten komentarz został zminimalizowany przez moderatora na stronie
jak to zrobić dla kolumn?
Ten komentarz został zminimalizowany przez moderatora na stronie
Jak mogę to zrobić dla kolumn?
Ten komentarz został zminimalizowany przez moderatora na stronie
jak wykonać tę samą akcję z wybranymi komórkami za pomocą VB,


Muszę powtórzyć kilka wybranych komórek (wierszy i kolumn) x nie razy w tym samym arkuszu i w tej samej kolejności co:

line1
line2
line3

line1
line2
line3
Ten komentarz został zminimalizowany przez moderatora na stronie
cześć to działało świetnie, tylko potrzebuję dwóch wierszy skopiowanych N liczbę razy. Czy możesz dostosować kod, aby po wybraniu dwóch wierszy skopiował te dwa wiersze w dół N razy? dzięki za pomoc
Ten komentarz został zminimalizowany przez moderatora na stronie
Witam, Sal,
Jeśli chcesz wielokrotnie skopiować tylko dwa wiersze w dół, wystarczy użyć kodu VBA 1 w tym artykule, zastosuj kod dwa razy, aby rozwiązać problem. Proszę spróbować, mam nadzieję, że może ci to pomóc!
Ten komentarz został zminimalizowany przez moderatora na stronie
Skopiuj i wstaw każdy wiersz wiele razy za pomocą kodu VBA

W kodzie VBA jak mogę wybrać wiersz początkowy?
Ten komentarz został zminimalizowany przez moderatora na stronie
No funciona con Windows 2019, deseo usar la función en mención pero simplemente no hace absolutamente nada
Ten komentarz został zminimalizowany przez moderatora na stronie
Witam wszystkich.. Z góry dziękuję za pomoc!!

Kod VBA do wielokrotnego duplikowania jednego określonego wiersza działa idealnie, dopóki nie użyjesz filtra. Zastanawiam się, czy ktoś może mi pomóc rozwiązać ten problem. Potrzebuję kodu, który zadziała, nawet jeśli przefiltrujesz niektóre wartości. Używam dużej ilości danych, które są sortowane według lokalizacji. Kod działa częściowo, wkleja pożądaną liczbę wierszy, ale nie ma danych ani formatu, gdy zastosowałem filtr.
Ten komentarz został zminimalizowany przez moderatora na stronie
Witam, czy można użyć różnych rozmiarów (wartości) dla każdego wiersza? Próbuję użyć wektora, ale to nie działa.
Na przykład :
Rows(I).Resize(xCount(y)).Insert

Gdzie wartości zapisane w xCount(y) są odczytywane z tabeli.
Ten komentarz został zminimalizowany przez moderatora na stronie
Witaj, Guss,
Być może poniższy artykuł może ci pomóc, sprawdź to:
https://www.extendoffice.com/documents/excel/4054-excel-duplicate-rows-based-on-cell-value.html
Ten komentarz został zminimalizowany przez moderatora na stronie
W przypadku drugiego kodu VBA (kod VBA: Duplikuj każdy wiersz wiele razy) otrzymuję błąd w czasie wykonywania: 1004
Nie ma tu jeszcze żadnych komentarzy
Pokaż więcej
Zostaw swój komentarz
Publikowanie jako gość
×
Oceń ten post:
0   Postacie
Sugerowane lokalizacje

Bądż na bieżąco

Prawa autorskie © 2009 - www.extendoffice.com. | Wszelkie prawa zastrzeżone. Zasilany przez ExtendOffice, | Mapa strony
Microsoft i logo Office są znakami towarowymi lub zastrzeżonymi znakami towarowymi Microsoft Corporation w Stanach Zjednoczonych i / lub innych krajach.
Chronione przez Sectigo SSL