Note: The other languages of the website are Google-translated. Back to English
Увійти  \/ 
x
or
x
Реєстрація  \/ 
x

or

Як скопіювати кілька аркушів кілька разів у Excel?

Іноді нам може знадобитися зробити копію або кілька копій зазначених аркушів у книзі. Ось кілька швидких способів допомогти вам легко скопіювати один або кілька аркушів кілька разів у Excel.


Створіть одну копію декількох аркушів один раз в активну книгу або іншу книгу за допомогою команди "Перемістити" або "Копіювати"

З Перемістити або скопіювати За допомогою команди в Excel ви можете одночасно зробити одну копію аркуша, декілька конкретних аркушів або всі аркуші в активній книзі чи іншій книзі.

1. У певній книзі, куди ви копіюватимете робочі аркуші, виберіть кілька аркушів на панелі вкладки Аркуш.
примітки: Холдинг CTRL клавішу, ви можете вибрати кілька сусідніх вкладок аркуша, клацнувши по черзі на панелі вкладки Аркуш; проведення SHIFT клавішу, ви можете вибрати кілька суміжних вкладок аркуша, натиснувши першу вкладку аркуша та останню на панелі вкладки Аркуш.

2. Клацніть правою кнопкою миші на вибраній вкладці аркуша на панелі вкладки Аркуш і виберіть Перемістити або скопіювати з контекстного меню. Дивіться знімок екрана:
doc копіювати кілька аркушів 01

3, в Перемістити або скопіювати у діалоговому вікні, будь ласка, вкажіть такі налаштування:
(1) Будь ласка, вкажіть цільову книгу, до якої ви скопіюєте аркуші з Резервувати випадаючий список. Ви можете вибрати активну книгу, іншу відкриту книгу або нову книгу, як вам потрібно.
(2) Вкажіть положення скопійованих аркушів на панелі вкладки Аркуш, яку ви можете вибрати після всіх існуючих аркушів.
(3) Перевірте Створіть копію Якщо не встановити цей прапорець, вибрані аркуші будуть переміщені до книги призначення.
(4) Клацніть на OK кнопки.

Тепер він зробить лише одну копію вибраних аркушів у зазначену книгу. Щоб зробити кілька копій цих аркушів, можна повторити операцію кілька разів.

Всього кілька кліків, щоб зробити кілька копій декількох аркушів в активній книзі

Загалом, ми можемо скопіювати кілька аркушів за допомогою Перемістити або скопіювати функція в Excel. Однак ця функція може робити лише одну копію одночасно. Тут, з Kutools для Excel Скопіюйте робочі аркуші Ви можете легко зробити стільки копій багатьох аркушів, скільки вам потрібно в активній книзі, лише декількома клацаннями миші. Повнофункціональна безкоштовна пробна версія 30 днів!
копія оголошення декілька робочих аркушів 01

Kutools для Excel - Включає більше 300 зручних інструментів для Excel. Повна функціональна безкоштовна пробна версія 30 днів, кредитна картка не потрібна! Get It Now

Створіть кілька копій одного вказаного робочого аркуша в активну книгу з кодом VBA

Якщо ви хочете зробити 10 копій зазначеного робочого аркуша, файл Перемістити або скопіювати команда буде трудомістким способом, і ви повинні повторити операцію багато разів. Але за допомогою наступного коду VBA ви можете швидко скопіювати аркуш 10 разів одночасно.

1. Утримуйте клавішу ALT + F11 і відкриває Microsoft Visual Basic для додатків вікна.

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

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 - Включає більше 300 зручних інструментів для Excel. Повна функціональна безкоштовна пробна версія 30 днів, кредитна картка не потрібна! Get It Now

1. Клацання Kutools Plus > Скопіюйте робочі аркуші. Дивіться знімок екрана:

примітки: Клацання Kutools Plus > Робочий аркуш > Скопіюйте робочі аркуші також отримає цю функцію.

2. Застосувати налаштування в Скопіюйте кілька аркушів діалогове вікно:
(1) Перевірте аркуші, з яких потрібно скопіювати Скопіюйте вибрані аркуші розділ.
(2) Вкажіть Кількість примірників.
(3) Визначте положення скопійованих аркушів, наприклад, до або після всіх аркушів, перед або після поточного аркуша.
(4) Клацніть на Ok кнопки.

3. Вискакує вікно із нагадуванням, щоб нагадати, що перевірені аркуші скопійовано кілька разів, коли вам потрібно, клацніть OK , щоб вийти з нього. Дивіться знімок екрана:

це Скопіюйте кілька аркушів особливість Kutools для Excel зробить кілька копій кількох зазначених аркушів в активній книзі лише кількома клацаннями миші. Отримайте безкоштовну пробну версію!


Створіть одну копію декількох аркушів із кількох книг в нову

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

Kutools для Excel - Включає більше 300 зручних інструментів для Excel. Повна функціональна безкоштовна пробна версія 30 днів, кредитна картка не потрібна! Get It Now

1. Клацання Kutools Plus > Поєднувати щоб активувати функцію комбінування робочих аркушів.

2. У майстрі "Об'єднати робочі аркуші" - крок 1 з 3, перевірте Об’єднайте кілька аркушів із книг в один аркуш та натисніть кнопку наступного кнопку. Дивіться знімок екрана:

3. У майстрі «Об’єднати робочі аркуші» - крок 2 з 3, виконайте наступний знімок екрана:
(1) Клацніть додавати > філе or Папка щоб додати книги, з яких ви скопіюєте аркуші.
(2) В Список робочих книжок розділ, перевірте книгу, робочі аркуші якої ви скопіюєте;
(3) В Список робочого аркуша розділ, перевірте аркуші, які ви скопіюєте;
(4) Повторіть вище (2) і (3) щоб вибрати аркуші з інших книг, які ви скопіюєте.
(5) Клацніть на наступного кнопки.

4. У майстрі «Об’єднати робочі аркуші» - крок 3 із 3, налаштуйте параметри копіювання, як вам потрібно, і натисніть обробка кнопки.

5. Тепер у новому діалоговому вікні вкажіть цільову папку для збереження нової книги, назвіть нову книгу в Файл і натисніть на зберегти кнопку. Дивіться знімок екрана:

Тепер з’являться ще два діалогові вікна з проханням відкрити нову книгу та зберегти сценарій комбінування. Будь ласка, клацніть кнопки, як вам потрібно. Наразі він одночасно скопіював усі зазначені аркуші з кількох книг.

З цим Комбінат (робочі аркуші) Утиліта, ви можете легко копіювати та комбінувати робочі аркуші та книги, як показано нижче. Отримайте безкоштовну пробну версію!
(1) Швидко об’єднати декілька робочих аркушів / діапазонів від книг в один аркуш;
(2) Швидко об’єднати / об’єднати всі однойменні аркуші між книгами в один аркуш;
(3) Швидко об’єднати / об’єднати аркуші чи книги в одну книгу;
(4) Швидко узагальнюйте / обчислюйте дані з декількох аркушів на одному аркуші.


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

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

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

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

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Tyler Dempsey · 3 years ago
    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.
    • To post as a guest, your comment is unpublished.
      Jorge · 1 years ago
      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
    • To post as a guest, your comment is unpublished.
      Schuyler · 3 years ago
      [quote name="Tyler Dempsey"]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.[/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
      • To post as a guest, your comment is unpublished.
        Belva · 1 months ago
        Thank you, the last one saved my life :)
    • To post as a guest, your comment is unpublished.
      Schuyler · 3 years ago
      [quote name="Tyler Dempsey"]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.[/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)
  • To post as a guest, your comment is unpublished.
    Simon · 4 years ago
    Fantastic VBA code - really helped
  • To post as a guest, your comment is unpublished.
    Barry · 4 years ago
    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
    • To post as a guest, your comment is unpublished.
      MJ · 2 years ago
      i got syntax error on "After:=ActiveWorkbook.Sheets(Worksheets.Count)


      but i dunno whats wrong... Can u help me please?
    • To post as a guest, your comment is unpublished.
      Kate · 3 years ago
      Thank you so much Barry. Your finished macro is the only thing that worked for me.
  • To post as a guest, your comment is unpublished.
    stalag 17 · 4 years ago
    where i will insert this above code in vba should i create common button then inside ?? regards.
    • To post as a guest, your comment is unpublished.
      Adi · 3 years ago
      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.
  • To post as a guest, your comment is unpublished.
    Susan · 5 years ago
    I get an error that 'numtimes' is not defined...?
  • To post as a guest, your comment is unpublished.
    Debbi · 5 years ago
    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)
    • To post as a guest, your comment is unpublished.
      Schuyler · 5 years ago
      [quote name="Debbi"]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)[/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.
  • To post as a guest, your comment is unpublished.
    Roy · 5 years ago
    how to copy with same column widths
    • To post as a guest, your comment is unpublished.
      Schuyler · 5 years ago
      Same column widths as the original Worksheet or do you want all of the column widths to be the same?
  • To post as a guest, your comment is unpublished.
    sadaqat · 5 years ago
    yes it works thanks I have successfully make multiple copies of a single worksheet in same workbook by using vba code thnx a lot.
  • To post as a guest, your comment is unpublished.
    Gopal Krishan · 5 years ago
    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.
  • To post as a guest, your comment is unpublished.
    juan · 6 years ago
    [quote name="MichaelTadashi"]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?[/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!
    • To post as a guest, your comment is unpublished.
      Schuyler · 5 years ago
      [quote name="juan"][quote name="MichaelTadashi"]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?[/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![/quote]

      If you want the sheet copies to be in sequential order instead of backwards, change the following line...

      [i]After:=ActiveWorkbook.Sheets[/i][u]("Sheet1")[/u]

      to this...

      [i]After:=ActiveWorkbook.Sheets[/i][u](Worksheets.Count)[/u]

      My completed code looked like the following which uses 2 InputBox prompts to allow for a dynamic copy count and worksheet name..


      [i]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[/i]
      • To post as a guest, your comment is unpublished.
        Karsten · 4 years ago
        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.
  • To post as a guest, your comment is unpublished.
    Lim · 6 years ago
    Wow, thanks for the VBA code. It really helps a lot!
  • To post as a guest, your comment is unpublished.
    Dee · 6 years ago
    thanks, the vba code was huge
  • To post as a guest, your comment is unpublished.
    Theou Aegis · 6 years ago
    I tried the VBA code and got subscript out of range error (9). I replaced the sheet name with anything I could think of that was in the workbook already. Any idea what I did wrong?

    Also, is there a way to make it name each sheet incrementally? This would tie in with Michael's question, I'm sure. I'm guessing the answer to his question would be you'd need to set the After target to "sheet"+x somehow and that in turn would apply to my question if there was a way to specify what to name the new sheet. I could always just change my boss' "master" to "Aug 0" or whatever month it is, but it'd be easier for her to understand if the script did the naming automatically.
  • To post as a guest, your comment is unpublished.
    MichaelTadashi · 7 years ago
    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?