Note: The other languages of the website are Google-translated. Back to English
Autentificare  \/ 
x
or
x
Înregistrare  \/ 
x

or

Cum să copiați mai multe foi de mai multe ori în Excel?

Uneori, poate fi necesar să facem o copie sau mai multe copii ale foilor de lucru specificate într-un registru de lucru. Iată câteva modalități rapide de a vă ajuta să copiați cu ușurință o foaie de lucru sau mai multe foi de lucru de mai multe ori în Excel.


Faceți o copie a mai multor foi de lucru o dată în registrul de lucru activ sau un alt registru de lucru cu comanda Mutare sau Copiere

Cu Mutați sau copiați comandă în Excel, puteți face o copie a unei foi de lucru, a mai multor foi de lucru specifice sau a tuturor foilor de lucru într-un registru de lucru activ sau un alt registru de lucru la un moment dat.

1. În registrul de lucru în care veți copia foile de lucru, selectați mai multe foi de lucru pe bara de tab Foaie.
notițe: Deținere CTRL tasta, puteți selecta mai multe file de foi nonadiacente făcând clic pe ele una câte una în bara de tab-uri Sheet; deținere SHIFT , puteți selecta mai multe file de foi adiacente făcând clic pe prima filă de foaie și pe ultima din bara de foi de foi.

2. Faceți clic dreapta pe fila de foaie selectată din bara de foi de foaie și selectați Mutați sau copiați din meniul contextual. Vedeți captura de ecran:
doc copie mai multe foi 01

3. În Mutați sau copiați caseta de dialog, vă rugăm să specificați următoarele setări:
(1) Vă rugăm să specificați registrul de lucru de destinație în care veți copia foile de lucru din A rezerva lista verticală. Puteți alege registrul de lucru activ, un alt registru de lucru deschis sau un registru de lucru nou după cum aveți nevoie.
(2) Specificați poziția foilor copiate pe bara de filă Foaie, puteți alege după toate foile existente.
(3) Verificați Creați o copie opțiune, dacă nu bifați această opțiune, foile de lucru selectate vor fi mutate în registrul de lucru de destinație.
(4) Faceți clic pe OK butonul.

Acum va face o singură copie a foilor de lucru selectate în registrul de lucru specificat. Pentru a face mai multe copii ale acestor foi de lucru, puteți repeta operația de mai multe ori.

Doar câteva clicuri pentru a face mai multe copii ale mai multor foi de lucru în registrul de lucru activ

În general, putem copia mai multe foi de lucru cu Mutați sau copiați caracteristică în Excel. Cu toate acestea, această caracteristică poate face o singură copie la un moment dat. Aici, cu Kutools pentru Excel Copiați foile de lucru utilitar, puteți face cu ușurință cât mai multe copii ale mai multor foi de lucru de care aveți nevoie în registrul de lucru activ doar cu câteva clicuri. Încercare gratuită completă de 30 de zile!
copiați mai multe foi de lucru 01

Kutools pentru Excel - Include mai mult de 300 de instrumente la îndemână pentru Excel. Versiune completă de încercare gratuită de 30 de zile, nu este necesar card de credit! Ia-L Acum

Faceți mai multe copii ale unei foi de lucru specificate în registrul de lucru activ cu cod VBA

Dacă doriți să faceți 10 copii ale unei foi de lucru specificate, Mutați sau copiați comanda va consuma mult timp și trebuie să repetați operația de multe ori. Dar cu următorul cod VBA, puteți copia rapid foaia de lucru de 10 ori simultan.

1. Țineți apăsat butonul ALT + F11 tastele și deschide fișierul Microsoft Visual Basic pentru aplicații fereastră.

2. Clic Insera > Moduleși lipiți următorul cod în fereastra modulului.

VBA: Faceți mai multe copii ale anumitor foi de lucru într-un registru de lucru activ

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

notițe: În codul de mai sus, înlocuiți „Sheet1"cu numele foii de copiat.

3. Apoi apăsați F5 pentru a rula codul, apare o casetă de solicitare pentru a vă întreba numărul de copii pe care doriți.

4. Apoi apasa OK, foaia de lucru specificată a fost copiată de 100 de ori în registrul de lucru activ.


Faceți mai multe copii ale mai multor foi de lucru în registrul de lucru activ cu Kutools pentru Excel

Deși este simplu să faceți o copie a mai multor foi de lucru în Excel, dacă doriți să faceți mai multe copii ale mai multor foi de lucru în registrul de lucru curent, poate fi necesar să utilizați Mutați sau copiați comandați elementul din nou și din nou. Doriți să faceți lucrurile dintr-un singur clic? Cu Copiați foile de lucru utilitatea suplimentului terță parte Kutools pentru Excel, puteți face mai multe copii ale mai multor foi de lucru într-un singur clic în Excel.

Kutools pentru Excel - Include mai mult de 300 de instrumente la îndemână pentru Excel. Versiune completă de încercare gratuită de 30 de zile, nu este necesar card de credit! Ia-L Acum

1. Clic Kutools Plus > Copiați foile de lucru. Vedeți captura de ecran:

notițe: Dând clic Kutools Plus > Fisa de lucru > Copiați foile de lucru va primi, de asemenea, această caracteristică.

2. Aplicați setările în Copiați mai multe foi de lucru căsuță de dialog:
(1) Verificați foile de lucru din care doriți să fiți copiate Copiați foile de lucru selectate secţiune.
(2) Specificați Numărul de exemplare.
(3) Determinați poziția foilor copiate, de exemplu, înainte sau după toate foile de lucru, înainte sau după foaia de lucru curentă.
(4) Faceți clic pe Ok butonul.

3. Se afișează o casetă de prompt pentru a vă reaminti că foile de lucru verificate au fost copiate de mai multe ori după cum aveți nevoie, faceți clic pe OK pentru a ieși din acesta. Vedeți captura de ecran:

Acest Copiați mai multe foi de lucru caracteristică a Kutools pentru Excel va face mai multe copii ale mai multor foi de lucru specificate în registrul de lucru activ doar cu câteva clicuri. Aveți o încercare gratuită!


Faceți o copie a mai multor foi de lucru din mai multe registre de lucru într-una nouă

Dacă aveți instalat Kutools pentru Excel, îl puteți aplica și Combinați foi de lucru caracteristică pentru a face o copie a mai multor foi de lucru din mai multe registre de lucru închise într-un registru de lucru nou cu mai multe clicuri numai în Excel.

Kutools pentru Excel - Include mai mult de 300 de instrumente la îndemână pentru Excel. Versiune completă de încercare gratuită de 30 de zile, nu este necesar card de credit! Ia-L Acum

1. Clic Kutools Plus > Combina pentru a activa caracteristica Combine foi de lucru.

2. În vrăjitorul Combinați foile de lucru - Pasul 1 din 3, verificați Combinați mai multe foi de lucru din registrele de lucru într-o singură foaie de lucru și faceți clic pe Următor → buton. Vedeți captura de ecran:

3. În vrăjitorul Combinați foile de lucru - Pasul 2 din 3, procedați după cum urmează:
(1) Faceți clic pe Adăuga > Fișier or Dosar pentru a adăuga registre de lucru veți copia fișe de lucru din.
(2) În Lista registrului de lucru secțiunea, verificați registrul de lucru ale cărui foi de lucru le veți copia;
(3) În Lista foilor de lucru secțiunea, verificați foile de lucru pe care le veți copia;
(4) Repetați mai sus (2) (3) pentru a selecta foi de lucru din alte registre de lucru pe care le veți copia.
(5) Faceți clic pe Următor → butonul.

4. În vrăjitorul Combinați foile de lucru - Pasul 3 din 3, configurați setările de copiere după cum aveți nevoie și faceți clic pe finalizarea butonul.

5. Acum, în noua casetă de dialog, vă rugăm să specificați un folder de destinație pentru a salva noul registru de lucru, denumiți noul registru de lucru în Nume de fișier și faceți clic pe butonul Economisești buton. Vedeți captura de ecran:

Acum vor apărea alte două casete de dialog și vă vor cere să deschideți noul registru de lucru și să salvați scenariul de combinație, faceți clic pe butoane după cum aveți nevoie. Până în prezent, a copiat toate foile de lucru specificate din mai multe registre de lucru la un moment dat.

Cu acest Combinați (foi de lucru) utilitar, puteți copia și combina cu ușurință foi de lucru și registre de lucru, după cum se arată în următoarea listă. Aveți o încercare gratuită!
(1) Combinați rapid mai multe foi de lucru / intervale de la registre de lucru într-o singură foaie de lucru;
(2) Combinați rapid / combinați toate foile de lucru cu același nume din registrele de lucru într-o singură foaie de lucru;
(3) Combinați rapid / combinați foi de lucru sau registre de lucru într-un singur registru de lucru;
(4) Rezumați rapid / calculați datele din mai multe foi de lucru într-o singură foaie de lucru.


Cele mai bune instrumente de productivitate Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2019 și 365. Suportă toate limbile. Implementare ușoară în întreprindere sau organizație. Funcții complete de încercare gratuită de 30 de zile. Garanție de restituire a banilor de 60 de zile.
fila kte 201905

Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse în fiecare zi!
fundul officetab
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 · 2 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?