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

or

Come copiare più fogli più volte in Excel?

A volte, potrebbe essere necessario creare una copia o più copie di fogli di lavoro specificati in una cartella di lavoro. Ecco alcuni modi rapidi per aiutarti a copiare facilmente un foglio di lavoro o più fogli di lavoro più volte in Excel.


Crea una copia di più fogli di lavoro una volta nella cartella di lavoro attiva o in un'altra cartella di lavoro con il comando Sposta o Copia

Con la Sposta o copia comando in Excel, è possibile creare una copia di un foglio di lavoro, più fogli di lavoro specifici o tutti i fogli di lavoro in una cartella di lavoro attiva o in un'altra cartella di lavoro alla volta.

1. Nella cartella di lavoro in cui copierai i fogli di lavoro, seleziona più fogli di lavoro sulla barra della scheda del foglio.
Osservazioni:: Holding CTRL tasto, è possibile selezionare più schede di fogli non adiacenti facendo clic su di esse una alla volta sulla barra delle schede del foglio; tenendo SPOSTAMENTO chiave, è possibile selezionare più schede di fogli adiacenti facendo clic sulla prima scheda del foglio e l'ultima sulla barra delle schede del foglio.

2. Fare clic con il pulsante destro del mouse sulla scheda del foglio selezionato sulla barra delle schede del foglio e selezionare Sposta o copia dal menu contestuale. Vedi screenshot:
doc copia più fogli 01

3. Nel Sposta o copia finestra di dialogo, specificare le seguenti impostazioni:
(1) Specificare la cartella di lavoro di destinazione in cui copiare i fogli di lavoro dal file Prenotare menu `A tendina. Puoi scegliere la cartella di lavoro attiva, un'altra cartella di lavoro aperta o una nuova cartella di lavoro di cui hai bisogno.
(2) Specificare la posizione dei fogli copiati sulla barra della scheda Foglio, è possibile scegliere dopo tutti i fogli esistenti.
(3) Verifica Crea una copia opzione, se non si seleziona questa opzione, i fogli di lavoro selezionati verranno spostati nella cartella di lavoro di destinazione.
(4) Fare clic su OK pulsante.

Ora farà solo una copia dei fogli di lavoro selezionati nella cartella di lavoro specificata. Per eseguire più copie di questi fogli di lavoro, è possibile ripetere l'operazione più volte.

Solo diversi clic per creare più copie di più fogli di lavoro nella cartella di lavoro attiva

In generale, possiamo copiare più fogli di lavoro con l'estensione Sposta o copia funzionalità in Excel. Tuttavia, questa funzione può creare solo una copia alla volta. Qui, con Kutools per Excel Copia fogli di lavoro utility, puoi facilmente creare tutte le copie di molti fogli di lavoro di cui hai bisogno nella cartella di lavoro attiva solo con diversi clic. Prova gratuita completa di 30 giorni!
copia dell'annuncio più fogli di lavoro 01

Kutools for Excel - Include più di 300 strumenti utili per Excel. 30 giorni di prova gratuita delle funzionalità complete, nessuna carta di credito richiesta! Get It Now

Crea più copie di un foglio di lavoro specificato in una cartella di lavoro attiva con codice VBA

Se vuoi fare 10 copie di un foglio di lavoro specificato, il file Sposta o copia sarà un metodo che richiede tempo e sarà necessario ripetere l'operazione molte volte. Ma con il seguente codice VBA, puoi copiare rapidamente il foglio di lavoro 10 volte contemporaneamente.

1. Tieni premuto il ALT + F11 chiavi e apre il file Microsoft Visual Basic, Applications Edition finestra.

2. Clic inserire > Moduloe incolla il codice seguente nella finestra del modulo.

VBA: crea più copie di un determinato foglio di lavoro in una cartella di lavoro attiva

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

Osservazioni:: Nel codice sopra, sostituisci "Sheet1"con il nome del foglio da copiare.

3. Quindi premere F5 tasto per eseguire il codice, viene visualizzata una finestra di messaggio per chiederti il ​​numero di copie del foglio che desideri.

4. Quindi fare clic OK, il foglio di lavoro specificato è stato copiato 100 volte nella cartella di lavoro attiva.


Crea più copie di più fogli di lavoro in una cartella di lavoro attiva con Kutools per Excel

Sebbene sia semplice creare una copia di più fogli di lavoro in Excel, se si desidera creare più copie di più fogli di lavoro nella cartella di lavoro corrente, potrebbe essere necessario utilizzare il Sposta o copia comando elemento ancora e ancora. Vorresti fare la cosa con un clic? Con il Copia fogli di lavoro utilità del componente aggiuntivo di terze parti Kutools for Excel, puoi creare più copie di più fogli di lavoro con un clic in Excel.

Kutools for Excel - Include più di 300 strumenti utili per Excel. 30 giorni di prova gratuita delle funzionalità complete, nessuna carta di credito richiesta! Get It Now

1. Clic Kutools Plus > Copia fogli di lavoro. Vedi screenshot:

Osservazioni:: Facendo clic Kutools Plus > Foglio di lavoro > Copia fogli di lavoro otterrà anche questa funzionalità.

2. Applica le impostazioni nel file Copia più fogli di lavoro la finestra di dialogo:
(1) Controlla i fogli di lavoro da cui vuoi essere copiato Copia i fogli di lavoro selezionati .
(2) Specificare Il numero di copie.
(3) Determinare la posizione dei fogli copiati, ad esempio, prima o dopo tutti i fogli di lavoro, prima o dopo il foglio di lavoro corrente.
(4) Fare clic su Ok pulsante.

3. Viene visualizzata una finestra di messaggio per ricordarti che i fogli di lavoro selezionati sono stati copiati più volte di cui hai bisogno, fai clic su OK per uscire. Vedi screenshot:

Questa Copia più fogli di lavoro caratteristica di Kutools for Excel creerà più copie di più fogli di lavoro specificati nella cartella di lavoro attiva solo con diversi clic. Avere una prova gratuita!


Crea una copia di più fogli di lavoro da più cartelle di lavoro in una nuova

Se hai installato Kutools per Excel, puoi anche applicarlo Combina fogli di lavoro funzione per creare una copia di più fogli di lavoro da più cartelle di lavoro chiuse in una nuova cartella di lavoro con diversi clic solo in Excel.

Kutools for Excel - Include più di 300 strumenti utili per Excel. 30 giorni di prova gratuita delle funzionalità complete, nessuna carta di credito richiesta! Get It Now

1. Clic Kutools Plus > Combinare per attivare la funzione Combina fogli di lavoro.

2. Nella procedura guidata Combina fogli di lavoro - Passaggio 1 di 3, controllare il file Combina più fogli di lavoro da cartelle di lavoro in un foglio di lavoro opzione e fare clic su Prossimo pulsante. Vedi screenshot:

3. Nella procedura guidata Combina fogli di lavoro - Passaggio 2 di 3, eseguire le seguenti operazioni:
(1) Fare clic Aggiungi > Compila il or cartella per aggiungere cartelle di lavoro da cui copiare i fogli di lavoro.
(2) Nella Elenco delle cartelle di lavoro sezione, controlla la cartella di lavoro di cui copierai i fogli di lavoro;
(3) Nella Elenco dei fogli di lavoro sezione, controlla i fogli di lavoro che copierai;
(4) Ripeti sopra (2) e (3) per selezionare fogli di lavoro da altre cartelle di lavoro che copierai.
(5) Fare clic su Prossimo pulsante.

4. Nella procedura guidata Combina fogli di lavoro - Passaggio 3 di 3, configurare le impostazioni di copia di cui hai bisogno e fare clic su Fine pulsante.

5. Ora nella nuova finestra di dialogo, specifica una cartella di destinazione per salvare la nuova cartella di lavoro, assegna un nome alla nuova cartella di lavoro in Nome del file casella e fare clic su Risparmia il pulsante. Vedi screenshot:

Ora verranno visualizzate altre due finestre di dialogo e ti chiederanno di aprire la nuova cartella di lavoro e salvare lo scenario di combinazione, fai clic sui pulsanti di cui hai bisogno. Finora, ha copiato tutti i fogli di lavoro specificati da più cartelle di lavoro alla volta.

Con questo Combina (fogli di lavoro) utility, puoi facilmente copiare e combinare fogli di lavoro e cartelle di lavoro come mostrato di seguito. Avere una prova gratuita!
(1) Combina rapidamente più fogli di lavoro / intervalli da cartelle di lavoro in un foglio di lavoro;
(2) Unisci / combina rapidamente tutti i fogli di lavoro con lo stesso nome tra le cartelle di lavoro in un foglio di lavoro;
(3) Unisci / combina rapidamente fogli di lavoro o cartelle di lavoro in una cartella di lavoro;
(4) Riepiloga / calcola rapidamente i dati da più fogli di lavoro in un foglio di lavoro.


I migliori strumenti per la produttività in ufficio

Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%

  • Riutilizzo: Inserisci rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Crittografa celle con password; Crea mailing list e invia email ...
  • Super Formula Bar (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Più di 300 potenti funzionalità. Supporta Office / Excel 2007-2019 e 365. Supporta tutte le lingue. Facile distribuzione nella tua azienda o organizzazione. Funzionalità complete Prova gratuita di 30 giorni. Garanzia di rimborso di 60 giorni.
scheda kte 201905

Scheda Office porta l'interfaccia a schede a Office e semplifica notevolmente il lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce centinaia di clic del mouse ogni giorno!
fondo 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?