Перейти к основному содержанию

Как скопировать несколько листов в Excel несколько раз?

Иногда нам может потребоваться сделать копию или несколько копий указанных рабочих листов в книге. Вот несколько быстрых способов, которые помогут вам легко скопировать один или несколько листов несколько раз в Excel.


Сделайте одну копию нескольких листов за один раз в активную книгу или другую книгу с помощью команды Переместить или Копировать

Для Переместить или скопировать в Excel, вы можете сделать одну копию рабочего листа, нескольких конкретных рабочих листов или всех рабочих листов в активную книгу или другую книгу за раз.

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

2. Щелкните правой кнопкой мыши вкладку выбранного листа на панели вкладок листа и выберите Переместить или скопировать из контекстного меню. Смотрите скриншот:
документ копировать несколько листов 01

3. В Переместить или скопировать диалоговом окне укажите следующие параметры:
(1) Укажите целевую книгу, в которую вы будете копировать рабочие листы из Бронировать раскрывающийся список. Вы можете выбрать активную книгу, другую открытую книгу или новую книгу по мере необходимости.
(2) Укажите положение скопированных листов на панели вкладок листов, вы можете выбрать после всех существующих листов.
(3) Проверить Создать копию Если вы не отметите этот параметр, выбранные листы будут перемещены в целевую книгу.
(4) Щелкните значок OK .

Теперь он сделает только одну копию выбранных листов в указанную книгу. Чтобы сделать несколько копий этих листов, вы можете повторить операцию несколько раз.

Всего несколько щелчков мышью, чтобы сделать несколько копий нескольких листов в активной книге

В общем, мы можем скопировать несколько листов с Переместить или скопировать функция в Excel. Однако с помощью этой функции можно делать только одну копию за раз. Здесь с Kutools for Excel's Копировать рабочие листы Утилита, вы можете легко сделать столько копий многих листов, сколько вам нужно в активной книге, всего за несколько щелчков мышью.


объявление копировать несколько листов 01

Kutools for Excel - Дополните Excel более чем 300 основными инструментами. Наслаждайтесь полнофункциональной 30-дневной БЕСПЛАТНОЙ пробной версией без необходимости использования кредитной карты! Get It Now

Сделайте несколько копий одного указанного рабочего листа в активную книгу с кодом 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 for Excel

Хотя сделать копию нескольких листов в Excel просто, если вы хотите сделать несколько копий нескольких листов в текущей книге, вам, возможно, придется использовать Переместить или скопировать элемент команды снова и снова. Хотите сделать это одним щелчком мыши? С Копировать рабочие листы утилита сторонней надстройки Kutools for Excel, вы можете сделать несколько копий нескольких листов одним щелчком мыши в Excel.

Kutools for Excel - Дополните Excel более чем 300 основными инструментами. Наслаждайтесь полнофункциональной 30-дневной БЕСПЛАТНОЙ пробной версией без необходимости использования кредитной карты! Get It Now

1. Нажмите Кутулс Плюс > Копировать рабочие листы. Смотрите скриншот:

Внимание: Нажатие Кутулс Плюс > Рабочий лист > Копировать рабочие листы также получит эту функцию.

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

3. Появится окно с подсказкой, чтобы напомнить вам, что проверенные рабочие листы были скопированы несколько раз по мере необходимости, нажмите OK кнопку для выхода. Смотрите скриншот:

Эта Копировать несколько листов особенность Kutools for Excel сделает несколько копий нескольких указанных листов в активной книге всего за несколько кликов. Получите бесплатную пробную версию!


Сделайте одну копию нескольких листов из нескольких книг в новую

Если у вас установлен Kutools for Excel, вы также можете применить его Комбинировать листы возможность сделать одну копию нескольких листов из нескольких закрытых книг в новую книгу несколькими щелчками мыши только в Excel.

Kutools for Excel - Дополните Excel более чем 300 основными инструментами. Наслаждайтесь полнофункциональной 30-дневной БЕСПЛАТНОЙ пробной версией без необходимости использования кредитной карты! Get It Now

1. Нажмите Кутулс Плюс > Сочетать , чтобы активировать функцию «Объединить листы».

2. В мастере объединения рабочих листов - шаг 1 из 3 проверьте Объедините несколько листов из книг в один лист и нажмите Следующая кнопка. Смотрите скриншот:

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

4. В мастере объединения листов - шаг 3 из 3 настройте необходимые параметры копирования и нажмите кнопку Завершить .

5. Теперь в новом диалоговом окне укажите папку назначения для сохранения новой книги, назовите новую книгу в Имя файла и нажмите Сохранить кнопка. Смотрите скриншот:

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

С этой Объединить (рабочие листы) утилиту, вы можете легко копировать и комбинировать рабочие листы и книги, как показано в следующем списке. Получите бесплатную пробную версию!
(1) Быстро объединяйте несколько рабочих листов / диапазонов из рабочих книг в один рабочий лист;
(2) Быстро объединяйте / объединяйте все рабочие листы с одинаковым именем из книг в один рабочий лист;
(3) Быстро объединять листы или книги в одну книгу;
(4) Быстро суммируйте / рассчитывайте данные из нескольких листов в один лист.

Лучшие инструменты для офисной работы

🤖 Kutools AI Помощник: Революционный анализ данных на основе: Интеллектуальное исполнение   |  Генерировать код  |  Создание пользовательских формул  |  Анализ данных и создание диаграмм  |  Вызов функций Kutools...
Популярные опции: Найдите, выделите или определите дубликаты   |  Удалить пустые строки   |  Объедините столбцы или ячейки без потери данных   |   Раунд без формулы ...
Супер поиск: Множественный критерий VLookup    VLookup с несколькими значениями  |   VLookup по нескольким листам   |   Нечеткий поиск ....
Расширенный раскрывающийся список: Быстрое создание раскрывающегося списка   |  Зависимый раскрывающийся список   |  Выпадающий список с множественным выбором ....
Менеджер столбцов: Добавить определенное количество столбцов  |  Переместить столбцы  |  Переключить статус видимости скрытых столбцов  |  Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка Фокус   |  Просмотр дизайна   |   Большой Формулный Бар    Менеджер книг и листов   |  Библиотека ресурсов (Авто текст)   |  Выбор даты   |  Комбинировать листы   |  Шифровать/дешифровать ячейки    Отправлять электронные письма по списку   |  Суперфильтр   |   Специальный фильтр (фильтровать жирным шрифтом/курсивом/зачеркиванием...) ...
15 лучших наборов инструментов12 Текст Инструменты (Добавить текст, Удалить символы, ...)   |   50+ График Тип (Диаграмма Ганта, ...)   |   40+ Практических Формулы (Рассчитать возраст по дню рождения, ...)   |   19 Вносимые Инструменты (Вставить QR-код, Вставить изображение из пути, ...)   |   12 Конверсия Инструменты (Числа в слова, Конверсия валюты, ...)   |   7 Слияние и разделение Инструменты (Расширенные ряды комбинирования, Разделить клетки, ...)   |   ... и более

Улучшите свои навыки работы с Excel с помощью Kutools for Excel и почувствуйте эффективность, как никогда раньше. Kutools for Excel предлагает более 300 расширенных функций для повышения производительности и экономии времени.  Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего...

Описание


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 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