Przejdź do głównej zawartości

Jak wielokrotnie kopiować wiele arkuszy w programie Excel?

Czasami może być konieczne wykonanie kopii lub wielu kopii określonych arkuszy w skoroszycie. Oto kilka szybkich sposobów łatwego kopiowania jednego arkusza lub wielu arkuszy w programie Excel.


Utwórz jedną kopię wielu arkuszy jednocześnie do aktywnego skoroszytu lub innego skoroszytu za pomocą polecenia Przenieś lub Kopiuj

Z Przenieś lub skopiuj polecenia w programie Excel, możesz utworzyć jedną kopię arkusza roboczego, wiele określonych arkuszy roboczych lub wszystkie arkusze robocze do aktywnego skoroszytu lub innego skoroszytu naraz.

1. W określonym skoroszycie, w którym będziesz kopiować arkusze, wybierz wiele arkuszy roboczych na pasku kart Arkusz.
Note: Trzymać CTRL klawiszem, możesz wybrać wiele nieprzylegających kart arkuszy, klikając je jedna po drugiej na pasku kart arkusza; trzymać SHIFT klawisz, możesz wybrać wiele sąsiednich kart arkuszy, klikając pierwszą kartę arkusza i ostatnią na pasku kart arkusza.

2. Kliknij prawym przyciskiem myszy wybraną kartę arkusza na pasku kart arkusza i wybierz Przenieś lub skopiuj z menu kontekstowego. Zobacz zrzut ekranu:
doc kopiuj wiele arkuszy 01

3, w Przenieś lub skopiuj w oknie dialogowym określ następujące ustawienia:
(1) Określ skoroszyt docelowy, do którego skopiujesz arkusze z pliku Aby zarezerwować Lista rozwijana. W razie potrzeby możesz wybrać aktywny skoroszyt, inny otwarty skoroszyt lub nowy skoroszyt.
(2) Określ położenie kopiowanych arkuszy na pasku zakładek Arkusz, możesz wybrać po wszystkich istniejących arkuszach.
(3) Sprawdź Utwórz kopię opcja, jeśli nie zaznaczysz tej opcji, wybrane arkusze zostaną przeniesione do skoroszytu docelowego.
(4) Kliknij OK przycisk.

Teraz wykona tylko jedną kopię wybranych arkuszy do określonego skoroszytu. Aby wykonać wiele kopii tych arkuszy, możesz powtórzyć operację wiele razy.

Tylko kilka kliknięć, aby wykonać wiele kopii wielu arkuszy w aktywnym skoroszycie

Ogólnie rzecz biorąc, możemy skopiować wiele arkuszy roboczych z rozszerzeniem Przenieś lub skopiuj funkcja w programie Excel. Jednak ta funkcja może wykonywać tylko jedną kopię naraz. Tutaj, z Kutools dla Excela Kopiuj arkusze narzędzie, możesz łatwo wykonać tyle kopii wielu arkuszy, ile potrzebujesz w aktywnym skoroszycie, wykonując tylko kilka kliknięć.


ad copy wiele arkuszy kalkulacyjnych 01

Kutools dla programu Excel - Doładuj program Excel za pomocą ponad 300 niezbędnych narzędzi. Ciesz się w pełni funkcjonalnym 30-dniowym DARMOWYM okresem próbnym bez karty kredytowej! Zdobądź To Teraz

Wykonaj wiele kopii jednego określonego arkusza roboczego w aktywnym skoroszycie z kodem VBA

Jeśli chcesz wykonać 10 kopii określonego arkusza roboczego, plik Przenieś lub skopiuj będzie to czasochłonny sposób, a operację trzeba będzie powtarzać wielokrotnie. Ale dzięki poniższemu kodowi VBA możesz szybko skopiować arkusz roboczy 10 razy na raz.

1. Przytrzymaj ALT + F11 klucze i otwiera plik Microsoft Visual Basic for Applications okno.

2. Kliknij wstawka > Modułi wklej następujący kod w oknie modułu.

VBA: Utwórz wiele kopii określonych arkuszy w aktywnym skoroszycie

Sub Copier ()
Dim x As Integer
x = InputBox("Enter number of times to copy Sheet1")
For numtimes = 1 To x
ActiveWorkbook.Sheets("Sheet1").Copy _
After:=ActiveWorkbook.Sheets("Sheet1")
Next
End Sub

Note: W powyższym kodzie zamień „Sheet1”z nazwą arkusza do skopiowania.

3. Następnie naciśnij F5 aby uruchomić kod, pojawi się okno z pytaniem o liczbę żądanych kopii arkuszy.

4. Następnie kliknij OK, określony arkusz został skopiowany 100 razy w aktywnym skoroszycie.


Wykonaj wiele kopii wielu arkuszy do aktywnego skoroszytu za pomocą Kutools for Excel

Chociaż wykonanie kopii wielu arkuszy w programie Excel jest proste, jeśli chcesz wykonać wiele kopii wielu arkuszy w bieżącym skoroszycie, może być konieczne użycie Przenieś lub skopiuj polecenie ponownie i ponownie. Czy chcesz zrobić to jednym kliknięciem? Dzięki Kopiuj arkusze użyteczność dodatku innej firmy Kutools dla programu Excel, możesz wykonać wiele kopii wielu arkuszy jednym kliknięciem w programie Excel.

Kutools dla programu Excel - Doładuj program Excel za pomocą ponad 300 niezbędnych narzędzi. Ciesz się w pełni funkcjonalnym 30-dniowym DARMOWYM okresem próbnym bez karty kredytowej! Zdobądź To Teraz

1. Kliknij Kutools Plus > Kopiuj arkusze. Zobacz zrzut ekranu:

Note: Klikanie Kutools Plus > Ćwiczenie > Kopiuj arkusze otrzyma również tę funkcję.

2. Zastosuj ustawienia w Skopiuj wiele arkuszy roboczych Okno dialogowe:
(1) Sprawdź arkusze, z których chcesz skopiować Skopiuj wybrane arkusze
(2) Określić Liczba kopii.
(3) Określ położenie skopiowanych arkuszy, na przykład przed lub po wszystkich arkuszach, przed lub po bieżącym arkuszu.
(4) Kliknij Ok przycisk.

3. Pojawi się okienko zachęty przypominające, że zaznaczone arkusze zostały skopiowane wiele razy w razie potrzeby, kliknij OK aby wyjść. Zobacz zrzut ekranu:

To zdjęcie Skopiuj wiele arkuszy roboczych cechą Kutools dla programu Excel utworzy wiele kopii wielu określonych arkuszy roboczych w aktywnym skoroszycie za pomocą tylko kilku kliknięć. Bezpłatna wersja próbna!


Zrób jedną kopię wielu arkuszy z wielu skoroszytów do nowego

Jeśli masz zainstalowany Kutools for Excel, możesz również zastosować jego Połącz arkusze funkcja tworzenia jednej kopii wielu arkuszy z wielu zamkniętych skoroszytów do nowego skoroszytu za pomocą kilku kliknięć tylko w programie Excel.

Kutools dla programu Excel - Doładuj program Excel za pomocą ponad 300 niezbędnych narzędzi. Ciesz się w pełni funkcjonalnym 30-dniowym DARMOWYM okresem próbnym bez karty kredytowej! Zdobądź To Teraz

1. Kliknij Kutools Plus > Połączyć aby aktywować funkcję Połącz arkusze.

2. W kreatorze Połącz arkusze - krok 1 z 3, sprawdź Połącz wiele arkuszy ze skoroszytów w jeden arkusz opcję i kliknij przycisk Następna przycisk. Zobacz zrzut ekranu:

3. W kreatorze Połącz arkusze - krok 2 z 3, wykonaj następujący zrzut ekranu:
(1) Kliknij Dodaj > filet or Teczka aby dodać skoroszyty, z których będziesz kopiować arkusze.
(2) W Lista skoroszytów sprawdź skoroszyt, którego arkusze będziesz kopiować;
(3) W Lista arkuszy sprawdź arkusze, które skopiujesz;
(4) Powtórz powyżej (2) i (3) aby wybrać arkusze z innych skoroszytów, które skopiujesz.
(5) Kliknij Następna przycisk.

4. W kreatorze Połącz arkusze - krok 3 z 3 skonfiguruj ustawienia kopiowania według potrzeb i kliknij przycisk koniec przycisk.

5. Teraz w nowym oknie dialogowym określ folder docelowy, aby zapisać nowy skoroszyt, nazwij nowy skoroszyt w Nazwa pliku i kliknij przycisk Zapisz przycisk. Zobacz zrzut ekranu:

Teraz pojawią się kolejne dwa okna dialogowe z prośbą o otwarcie nowego skoroszytu i zapisanie scenariusza kombinacji, kliknij przyciski według potrzeb. Do tej pory kopiował wszystkie określone arkusze z wielu skoroszytów naraz.

Z tym Połącz (arkusze) narzędzie, możesz łatwo kopiować i łączyć arkusze robocze i skoroszyty, jak pokazano na poniższej liście. Bezpłatna wersja próbna!
(1) Szybko łącz wiele arkuszy / zakresów ze skoroszytów w jeden arkusz roboczy;
(2) Szybko scalaj / łącz wszystkie arkusze o tej samej nazwie w różnych skoroszytach w jeden arkusz;
(3) Szybko scalaj / łącz arkusze lub skoroszyty w jeden skoroszyt;
(4) Szybko podsumuj / oblicz dane z wielu arkuszy w jednym arkuszu.

Najlepsze narzędzia biurowe

🤖 Pomocnik AI Kutools: Zrewolucjonizuj analizę danych w oparciu o: Inteligentne wykonanie   |  Wygeneruj kod  |  Twórz niestandardowe formuły  |  Analizuj dane i generuj wykresy  |  Wywołaj funkcje Kutools...
Popularne funkcje: Znajdź, wyróżnij lub zidentyfikuj duplikaty   |  Usuń puste wiersze   |  Łącz kolumny lub komórki bez utraty danych   |   Okrągły bez wzoru ...
Super wyszukiwanie: Wiele kryteriów VLookup    Wiele wartości VLookup  |   Przeglądanie pionowe na wielu arkuszach   |   Wyszukiwanie rozmyte ....
Zaawansowana lista rozwijana: Szybko twórz listę rozwijaną   |  Zależna lista rozwijana   |  Lista rozwijana wielokrotnego wyboru ....
Menedżer kolumn: Dodaj określoną liczbę kolumn  |  Przesuń kolumny  |  Przełącz stan widoczności ukrytych kolumn  |  Porównaj zakresy i kolumny ...
Polecane funkcje: Fokus siatki   |  Widok projektu   |   Duży pasek formuły    Menedżer skoroszytów i arkuszy   |  Biblioteka zasobów (Automatyczny tekst)   |  Selektor dat   |  Połącz arkusze   |  Szyfruj/odszyfruj komórki    Wysyłaj e-maile według listy   |  Super filtr   |   Specjalny filtr (filtruj pogrubienie/kursywa/przekreślenie...) ...
15 najlepszych zestawów narzędzi12 Tekst Tools (Dodaj tekst, Usuń znaki, ...)   |   50 + Wykres rodzaje (Wykres Gantta, ...)   |   40+ Praktyczne Wzory (Oblicz wiek na podstawie urodzin, ...)   |   19 Wprowadzenie Tools (Wstaw kod QR, Wstaw obraz ze ścieżki, ...)   |   12 Konwersja Tools (Liczby na słowa, Przeliczanie walut, ...)   |   7 Połącz i podziel Tools (Zaawansowane wiersze łączenia, Podział komórki, ...)   |   ... i więcej

Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas.  Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...

Opis


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!
Comments (25)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I am new to this I am just trying to make copies of the same sheet this is the code I am using. Sub Copier() Dim s As String Dim numtimes As Integer Dim numCopies As Integer numCopies = InputBox("How many copies do you need?") s = InputBox("Enter the name of the Worksheet you want to copy") For numtimes = 1 To numCopies ActiveWorkbook.Sheets(s).Copy _ After:=ActiveWorkbook.Sheets(Worksheets.Cou nt) Next End Sub when i use the code it gives me the error of "Syntax Error" then this text turns red ActiveWorkbook.Sheets(s).Copy _ After:=ActiveWorkbook.Sheets(Worksheets.Cou nt) and the is text turns yellow Sub Copier() what can i do to fix it.
This comment was minimized by the moderator on the site
Working Code

Sub Copier()
Dim s As String
Dim numtimes As Integer
Dim numCopies As Integer
numCopies = InputBox("How many copies do you need?")
s = InputBox("Enter the name of the Worksheet you want to copy")
For numtimes = 1 To numCopies
ActiveWorkbook.Sheets(s).Copy After:=ActiveWorkbook.Sheets(Worksheets.Count)
Next
End Sub

copy the entire line from ActiveWorkbook.Sheets...... that was the problem, and some spaces

Have a great day
This comment was minimized by the moderator on the site
[quote]I am new to this I am just trying to make copies of the same sheet this is the code I am using. Sub Copier() Dim s As String Dim numtimes As Integer Dim numCopies As Integer numCopies = InputBox("How many copies do you need?") s = InputBox("Enter the name of the Worksheet you want to copy") For numtimes = 1 To numCopies ActiveWorkbook.Sheets(s).Copy _ After:=ActiveWorkbook.Sheets(Worksheets.Cou nt) Next End Sub when i use the code it gives me the error of "Syntax Error" then this text turns red ActiveWorkbook.Sheets(s).Copy _ After:=ActiveWorkbook.Sheets(Worksheets.Cou nt) and the is text turns yellow Sub Copier() what can i do to fix it.By Tyler Dempsey[/quote] Here is the exact code you want to use: Sub Copier() Dim s As String Dim numtimes As Integer Dim numCopies As Integer numCopies = InputBox("How many copies do you need?") s = InputBox("Enter the name of the Worksheet you want to copy") For numtimes = 1 To numCopies ActiveWorkbook.Sheets(s).Copy _ After:=ActiveWorkbook.Sheets(Worksheets.Count) Next End Sub
This comment was minimized by the moderator on the site
Thank you, the last one saved my life :)
This comment was minimized by the moderator on the site
[quote]I am new to this I am just trying to make copies of the same sheet this is the code I am using. Sub Copier() Dim s As String Dim numtimes As Integer Dim numCopies As Integer numCopies = InputBox("How many copies do you need?") s = InputBox("Enter the name of the Worksheet you want to copy") For numtimes = 1 To numCopies ActiveWorkbook.Sheets(s).Copy _ After:=ActiveWorkbook.Sheets(Worksheets.Cou nt) Next End Sub when i use the code it gives me the error of "Syntax Error" then this text turns red ActiveWorkbook.Sheets(s).Copy _ After:=ActiveWorkbook.Sheets(Worksheets.Cou nt) and the is text turns yellow Sub Copier() what can i do to fix it.By Tyler Dempsey[/quote] Double check your code and make sure you don't have a space at ActiveWorkbook. Sheets(s).Copy _ or at Sheets(Worksheets.Cou nt)
This comment was minimized by the moderator on the site
Fantastic VBA code - really helped
This comment was minimized by the moderator on the site
When I first tried it, I got the error message because I didn't change the name Sheet1. After I realized what caused the error, I researched a little further, as I did not want to be manually entering the sheet name into the macro. And when I need this feature, it is almost always for the current sheet. I added the line a = activesheet.name And revised the line after:=activeworkbook.sheets("sheet1") to activeworkbook.sheets(a).copy _ That worked very well, but I did notice the numbering was reversed ... that didn't bother me as I was going to manually rename the new sheets anyway. When I saw Schuyler's post, I further revised the line activeworkbook.sheets(a).copy _ to after:=activeworkbook.sheets(worksheets.count) I am now satisfied with the result. My finished macro: Sub copies() Dim x As Integer x = InputBox("Enter number of times to copy Sheet1") For numtimes = 1 To x ActiveWorkbook.Sheets("Sheet1").Copy _ After:=ActiveWorkbook.Sheets(Worksheets.Count) Next End Sub --- All the best, Barry
This comment was minimized by the moderator on the site
i got syntax error on "After:=ActiveWorkbook.Sheets(Worksheets.Count)


but i dunno whats wrong... Can u help me please?
This comment was minimized by the moderator on the site
Thank you so much Barry. Your finished macro is the only thing that worked for me.
This comment was minimized by the moderator on the site
where i will insert this above code in vba should i create common button then inside ?? regards.
This comment was minimized by the moderator on the site
Follow the below steps:
1. Copy the above code
2. Hold down the ALT + F11 keys, and it opens the Microsoft Visual Basic for Applications window.
2. Click Insert > Module, and paste the following code in the Module Window.
4.Then press F5 key to run the code
5.A prompt box appears to ask you the number of sheet copies you want.
This comment was minimized by the moderator on the site
I get an error that 'numtimes' is not defined...?
This comment was minimized by the moderator on the site
I got the same error as Theou and no one seems to have addressed it. My tabs are already named PO 51, PO 52, etc. and I replaced Sheet1 with PO 51 to copy that and got the subscript error out of range (9) I followed Schuyler's code to get the right order, but I still get the error and it's always due to these two lines: ActiveWorkbook.Sheets(s).Copy _ Before:=ActiveWorkbook.Sheets(Worksheets.Count)
This comment was minimized by the moderator on the site
[quote]I got the same error as Theou and no one seems to have addressed it. My tabs are already named PO 51, PO 52, etc. and I replaced Sheet1 with PO 51 to copy that and got the subscript error out of range (9) I followed Schuyler's code to get the right order, but I still get the error and it's always due to these two lines: ActiveWorkbook.Sheets(s).Copy _ Before:=ActiveWorkbook.Sheets(Worksheets.Count)By Debbi[/quote] Can you include your complete code to make it easier to debug? A "subscript error out of range" usually means that the code references something that doesn't exist. I find this in my own code when I've got a typo or something of that nature.
This comment was minimized by the moderator on the site
how to copy with same column widths
This comment was minimized by the moderator on the site
Same column widths as the original Worksheet or do you want all of the column widths to be the same?
This comment was minimized by the moderator on the site
yes it works thanks I have successfully make multiple copies of a single worksheet in same workbook by using vba code thnx a lot.
This comment was minimized by the moderator on the site
Search for word "After" and change it to "Before". This will create copies in right order "Before" Sheet1. The only thing to rememeber is that numbering will always start from (2) as the original sheet will always be counted as 1st copy. Also you can replace "Sheet1" with name of the tab you are trying to copy.
This comment was minimized by the moderator on the site
[quote]Using the VBA code, the naming of the duplicated worksheets is in reverse order. Let's say I make 10 copies of Sheet1, I'll end up with Sheet1, Sheet1(10), Sheet1(9), Sheet1(8),.......is it possible to have them in normal order?By MichaelTadashi[/quote] Anyone was able to answer this question? I need to create 72 copies, but it would be needed to have them in order (1 throught 72, intead of 72 through 1) Thanks!
This comment was minimized by the moderator on the site
[quote][quote]Using the VBA code, the naming of the duplicated worksheets is in reverse order. Let's say I make 10 copies of Sheet1, I'll end up with Sheet1, Sheet1(10), Sheet1(9), Sheet1(8),.......is it possible to have them in normal order?By juan[/quote] Anyone was able to answer this question? I need to create 72 copies, but it would be needed to have them in order (1 throught 72, intead of 72 through 1) Thanks!By MichaelTadashi[/quote]e] If you want the sheet copies to be in sequential order instead of backwards, change the following line... After:=ActiveWorkbook.Sheets("Sheet1") to this... After:=ActiveWorkbook.Sheets(Worksheets.Count) My completed code looked like the following which uses 2 InputBox prompts to allow for a dynamic copy count and worksheet name.. Sub Copier() Dim s As String Dim numtimes As Integer Dim numCopies As Integer numCopies = InputBox("How many copies do you need?") s = InputBox("Enter the name of the Worksheet you want to copy") For numtimes = 1 To numCopies ActiveWorkbook.Sheets(s).Copy _ After:=ActiveWorkbook.Sheets(Worksheets.Count) Next End Sub
This comment was minimized by the moderator on the site
How do i get the coppies continuous numbered. If the sheet i want to copy is named I002, and i want the next to be named I003,I004,I005 an so on.
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