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

Как да копирате няколко листа няколко пъти в Excel?

Автор: Техническа поддръжка Последна промяна: 2020-04-26

Понякога може да се наложи да направим копие или множество копия на определени работни листове в работна книга. Ето няколко бързи начина, които ще ви помогнат лесно да копирате един работен лист или няколко работни листа няколко пъти в Excel.


Направете едно копие на няколко работни листа еднократно в активна работна книга или друга работна книга с командата Преместване или Копиране

С Преместване или копиране команда в Excel, можете да направите едно копие на работен лист, няколко конкретни работни листа или всички работни листове в активна работна книга или друга работна книга наведнъж.

1. В определената работна книга, където ще копирате работни листове, изберете няколко работни листа в лентата с раздели на листа.
Забележка: Задържане CTRL клавиш, можете да изберете множество раздели на листа, които не са съседни, като щракнете върху тях един по един в лентата с раздели на листа; холдинг SHIFT можете да изберете няколко съседни раздела на листа, като щракнете върху първия раздел на листа и върху последния върху лентата с раздели на листа.

2. Щракнете с десния бутон върху избрания раздел на листа в лентата с раздели на листа и изберете Преместване или копиране от контекстното меню. Вижте екранна снимка:
doc копиране на няколко листа 01

3. В Преместване или копиране диалогов прозорец, моля, задайте следните настройки:
(1) Моля, посочете целевата работна книга, в която ще копирате работните листове Резервирам падащ списък. Можете да изберете активната работна книга, друга отворена работна книга или нова работна книга според нуждите ви.
(2) Посочете позицията на копираните листове в лентата с раздели на листа, можете да изберете след всички съществуващи листове.
(3) Проверка Създайте копие опция, ако не отметнете тази опция, избраните работни листове ще бъдат преместени в целевата работна книга.
(4) Щракнете върху OK бутон.

Сега ще направи само едно копие на избраните работни листове в посочената работна книга. За да направите множество копия на тези работни листове, можете да повторите операцията няколко пъти.

Само няколко щраквания, за да направите множество копия на множество работни листове в активната работна книга

Като цяло можем да копираме няколко работни листа с Преместване или копиране функция в Excel. Тази функция обаче може да прави само едно копие наведнъж. Тук, с Kutools за Excel Копиране на работни листове помощна програма, можете лесно да направите толкова копия на много работни листове, колкото са ви необходими в активната работна книга само с няколко кликвания.


рекламно копие на няколко работни листа 01

Kutools за Excel - Заредете Excel с над 300 основни инструмента. Насладете се на пълнофункционален 30-дневен БЕЗПЛАТЕН пробен период без кредитна карта! Вземи Го Сега

Направете множество копия на един определен работен лист в активна работна книга с VBA код

Ако искате да направите 10 копия на определен работен лист, Преместване или копиране ще отнеме много време и трябва да повторите операцията много пъти. Но със следния VBA код можете бързо да копирате работния лист 10 пъти наведнъж.

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

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

VBA: Направете множество копия на определени работни листове в активна работна книга

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

Забележка: В горния код заменете "Sheet1“ с името на листа, който ще се копира.

3. След това натиснете F5 за да изпълните кода, се появява подканващо поле, което ви пита за броя копия на листа, които искате.

4, След това кликнете OK, посоченият работен лист е копиран 100 пъти в активната работна книга.


Направете множество копия на множество работни листове в активна работна книга с Kutools за Excel

Въпреки че е лесно да направите копие на множество работни листове в Excel, ако искате да направите множество копия на множество работни листове в текущата работна книга, може да се наложи да използвате Преместване или копиране команден елемент отново и отново. Искате ли да свършите работата с едно кликване? С Копиране на работни листове полезност на добавката на трета страна Kutools за Excel, можете да направите множество копия на множество работни листове с едно щракване в Excel.

Kutools за Excel - Заредете Excel с над 300 основни инструмента. Насладете се на пълнофункционален 30-дневен БЕЗПЛАТЕН пробен период без кредитна карта! Вземи Го Сега

1. Щракнете Kutools плюс > Копиране на работни листове. Вижте екранна снимка:

Забележка: Щракване Kutools плюс > Работен лист > Копиране на работни листове също ще получи тази функция.

2. Приложете настройките в Копиране на множество работни листове диалогов прозорец:
(1) Проверете работните листове, от които искате да бъдете копирани Копирайте избраните работни листове раздел.
(2) Посочете Броят на копията.
(3) Определете позицията на копираните листове, например преди или след всички работни листове, преди или след текущия работен лист.
(4) Щракнете върху Ok бутон.

3. Изскача поле за подкана, за да ви напомни, че отметнатите работни листове са били копирани няколко пъти, както е необходимо, моля, щракнете върху OK бутон за излизане от него. Вижте екранна снимка:

Това Копиране на множество работни листове функция на Kutools за Excel ще направи множество копия на множество посочени работни листове в активната работна книга само с няколко кликвания. Имате безплатен пробен период!


Направете едно копие на няколко работни листа от множество работни книги в нова

Ако имате инсталиран Kutools за Excel, можете също да го приложите Комбинирайте работни листове функция за създаване на едно копие на множество работни листове от множество затворени работни книги в нова работна книга с няколко кликвания само в Excel.

Kutools за Excel - Заредете Excel с над 300 основни инструмента. Насладете се на пълнофункционален 30-дневен БЕЗПЛАТЕН пробен период без кредитна карта! Вземи Го Сега

1. Щракнете Kutools плюс > Комбинирам за да активирате функцията Комбиниране на работни листове.

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

3. В съветника за комбиниране на работни листове – стъпка 2 от 3, моля, направете следната показана екранна снимка:
(1) Кликнете Добави > досие or Папка за да добавите работни книги, от които ще копирате работни листове.
(2) в Списък с работни книги раздел, проверете работната книга, чиито работни листове ще копирате;
(3) в Списък с работни листове раздел, проверете работните листове, които ще копирате;
(4) Повторете по-горе (2) намлява (3) за да изберете работни листове от други работни книги, които ще копирате.
(5) Щракнете върху Напред бутон.

4. В съветника за комбиниране на работни листове – стъпка 3 от 3, моля, конфигурирайте настройките за копиране според нуждите си и щракнете върху завършеност бутон.

5. Сега в новия диалогов прозорец, моля, посочете целева папка, за да запазите новата работна книга, наименувайте новата работна книга в Име на файл и щракнете върху Save бутон. Вижте екранна снимка:

Сега ще излязат още два диалогови прозореца, които ще ви помолят да отворите новата работна книга и да запишете сценария на комбинацията, моля, щракнете върху бутоните, които ви трябват. Досега той е копирал всички посочени работни листове от множество работни книги наведнъж.

С това Комбинирайте (Работни листове) помощна програма, можете лесно да копирате и комбинирате работни листове и работни книги, както е показан следният списък. Имате безплатен пробен период!
(1) Бързо комбинирайте множество работни листове / диапазони от работни книги в един работен лист;
(2) Бързо обединете/комбинирайте всички работни листове с едно и също име в работни книги в един работен лист;
(3) Бързо обединяване/комбиниране на работни листове или работни книги в една работна книга;
(4) Бързо обобщете/изчислете данни от множество работни листове в един работен лист.

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

🤖 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 (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