Note: The other languages of the website are Google-translated. Back to English
Log in  \/ 
x
or
x
Inscreva-se  \/ 
x

or

Como copiar várias planilhas várias vezes no Excel?

Às vezes, podemos precisar fazer uma cópia ou várias cópias de planilhas especificadas em uma pasta de trabalho. Aqui estão algumas maneiras rápidas de ajudá-lo a copiar facilmente uma ou várias planilhas várias vezes no Excel.


Faça uma cópia de várias planilhas de uma vez na pasta de trabalho ativa ou em outra pasta de trabalho com o comando Mover ou Copiar

Com o Mover ou Copiar No Excel, você pode fazer uma cópia de uma planilha, várias planilhas específicas ou todas as planilhas na pasta de trabalho ativa ou em outra pasta de trabalho por vez.

1. Em uma determinada pasta de trabalho para a qual você copiará as planilhas, selecione várias planilhas na barra da guia Planilha.
Importante: Segurando CTRL , você pode selecionar várias guias de folha não adjacentes clicando nelas uma a uma na barra de guias da folha; segurando DESLOCAMENTO , você pode selecionar várias guias de folha adjacentes clicando na primeira guia de folha e a última na barra de guias de folha.

2. Clique com o botão direito na guia da folha selecionada na barra da guia da folha e selecione Mover ou Copiar no menu de contexto. Veja a imagem:
doc cópia múltiplas folhas 01

3. No Mover ou Copiar caixa de diálogo, especifique as seguintes configurações:
(1) Especifique a pasta de trabalho de destino para a qual copiará as planilhas do Agendar lista suspensa. Você pode escolher a pasta de trabalho ativa, outra pasta de trabalho aberta ou uma nova pasta de trabalho conforme necessário.
(2) Especifique a posição das folhas copiadas na barra Guia da Folha, você pode escolher depois de todas as folhas existentes.
(3) Verifique Crie uma cópia opção, se você não marcar esta opção, as planilhas selecionadas serão movidas para a pasta de trabalho de destino.
(4) Clique no OK botão.

Agora, ele fará apenas uma cópia das planilhas selecionadas na pasta de trabalho especificada. Para fazer várias cópias dessas planilhas, você pode repetir a operação várias vezes.

Apenas alguns cliques para fazer várias cópias de várias planilhas na pasta de trabalho ativa

Em geral, podemos copiar várias planilhas com o Mover ou Copiar recurso no Excel. No entanto, esse recurso pode fazer apenas uma cópia por vez. Aqui, com Kutools para Excel's Copiar planilhas utilitário, você pode facilmente fazer quantas cópias de muitas planilhas forem necessárias na pasta de trabalho ativa, bastando apenas alguns cliques. Avaliação gratuita de recursos completos por 30 dias!
cópia do anúncio várias planilhas 01

Kutools for Excel - Inclui mais de 300 ferramentas úteis para Excel. Teste gratuito completo por 30 dias, sem necessidade de cartão de crédito! Get It Now

Faça várias cópias de uma planilha especificada na pasta de trabalho ativa com o código VBA

Se você quiser fazer 10 cópias de uma planilha especificada, o Mover ou Copiar comando será uma forma demorada e você deve repetir a operação muitas vezes. Mas com o seguinte código VBA, você pode copiar rapidamente a planilha 10 vezes de uma vez.

1. Segure o ALT + F11 chaves, e abre o Microsoft Visual Basic para Aplicações janela.

2. Clique inserção > Móduloe cole o código a seguir na janela do módulo.

VBA: Faça várias cópias de uma determinada planilha na pasta de trabalho ativa

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

Importante: No código acima, substitua "Sheet1"com o nome da folha a ser copiada.

3. Então aperte F5 para executar o código, uma caixa de prompt aparece perguntando o número de cópias de folha que você deseja.

4. Então clique OK, a planilha especificada foi copiada 100 vezes na pasta de trabalho ativa.


Faça várias cópias de várias planilhas em uma pasta de trabalho ativa com o Kutools para Excel

Embora seja simples fazer uma cópia de várias planilhas no Excel, se você quiser fazer várias cópias de várias planilhas na pasta de trabalho atual, pode ser necessário usar o Mover ou Copiar item de comando repetidas vezes. Gostaria de fazer o trabalho com um clique? Com o Copiar planilhas utilidade do suplemento de terceiros Kutools for Excel, você pode fazer várias cópias de várias planilhas com um clique no Excel.

Kutools for Excel - Inclui mais de 300 ferramentas úteis para Excel. Teste gratuito completo por 30 dias, sem necessidade de cartão de crédito! Get It Now

1. Clique Kutools Plus > Copiar planilhas. Veja a imagem:

Importante: Clicando Kutools Plus > Planilha > Copiar planilhas também obterá esse recurso.

2. Aplicar configurações no Copiar várias planilhas caixa de diálogo:
(1) Verifique as planilhas das quais deseja copiar Copie as planilhas selecionadas seção.
(2) Especifique O número de cópias.
(3) Determine a posição das planilhas copiadas, por exemplo, antes ou depois de todas as planilhas, antes ou depois da planilha atual.
(4) Clique no Ok botão.

3. Uma caixa de prompt aparece para lembrá-lo de que as planilhas marcadas foram copiadas várias vezes conforme necessário, clique no botão OK botão para sair. Veja a imagem:

Este Copiar várias planilhas característica de Kutools for Excel fará várias cópias de várias planilhas especificadas na pasta de trabalho ativa com vários cliques apenas. Faça um teste grátis!


Faça uma cópia de várias planilhas de várias pastas de trabalho em uma nova

Se você tiver o Kutools para Excel instalado, também poderá aplicar seu Combinar planilhas recurso para fazer uma cópia de várias planilhas de várias pastas de trabalho fechadas em uma nova pasta de trabalho com vários cliques apenas no Excel.

Kutools for Excel - Inclui mais de 300 ferramentas úteis para Excel. Teste gratuito completo por 30 dias, sem necessidade de cartão de crédito! Get It Now

1. Clique Kutools Plus > Combinar para ativar o recurso Combinar planilhas.

2. No assistente Combinar Planilhas - Etapa 1 de 3, verifique o Combine várias planilhas de pastas de trabalho em uma planilha opção, e clique no botão Próximo botão. Veja a imagem:

3. No assistente Combine Worksheets - Step 2 of 3, faça como mostrado a seguir captura de tela:
(1) Clique Adicionar > Envie o or Pasta para adicionar pastas de trabalho das quais você copiará as planilhas.
(2) No Lista de cadernos seção, verifique a pasta de trabalho cujas planilhas você irá copiar;
(3) No Lista de planilhas seção, verifique as planilhas que você irá copiar;
(4) Repita acima (2) e (3) para selecionar planilhas de outras pastas de trabalho que você irá copiar.
(5) Clique no Próximo botão.

4. No assistente Combinar Planilhas - Etapa 3 de 3, defina as configurações de cópia conforme necessário e clique no botão Terminar botão.

5. Agora, na nova caixa de diálogo, especifique uma pasta de destino para salvar a nova pasta de trabalho, nomeie a nova pasta de trabalho no Nome do arquivo caixa, e clique no Salvar botão. Veja a imagem:

Agora, outras duas caixas de diálogo aparecerão e pedirão que você abra a nova pasta de trabalho e salve o cenário de combinação, clique nos botões conforme necessário. Até agora, ele copiou todas as planilhas especificadas de várias pastas de trabalho ao mesmo tempo.

Com esta Combinar (planilhas) utilitário, você pode copiar e combinar facilmente planilhas e pastas de trabalho conforme a lista a seguir. Faça um teste grátis!
(1) Combine rapidamente várias planilhas / intervalos de pastas de trabalho em uma planilha;
(2) Mesclar / combinar rapidamente todas as planilhas com o mesmo nome em uma planilha;
(3) Mesclar / combinar rapidamente planilhas ou pastas de trabalho em uma pasta de trabalho;
(4) Resuma / calcule rapidamente os dados de várias planilhas em uma única planilha.


As melhores ferramentas de produtividade para escritório

O Kutools for Excel resolve a maioria dos seus problemas e aumenta sua produtividade em 80%

  • armadilha para peixes: Insira rapidamente fórmulas complexas, gráficos e qualquer coisa que você tenha usado antes; Criptografar células com senha; Criar lista de discussão e enviar emails ...
  • Super Formula Bar (edite facilmente várias linhas de texto e fórmula); Layout de leitura (ler e editar facilmente um grande número de células); Colar na faixa filtrada...
  • Mesclar células / linhas / colunas sem perder dados; Dividir o conteúdo das células; Combinar linhas / colunas duplicadas... Evite células duplicadas; Comparar intervalos...
  • Selecione Duplicado ou Único Linhas; Selecione linhas em branco (todas as células estão vazias); Super Find e Fuzzy Find em muitos livros; Seleção aleatória ...
  • Cópia exata Várias células sem alterar a referência da fórmula; Criação automática de referências para várias folhas; Inserir marcadores, Caixas de seleção e mais ...
  • Extrair Texto, Adicionar texto, remover por posição, Remover Espaço; Criar e imprimir subtotais de paginação; Converter entre conteúdo de células e comentários...
  • Super Filtro (salvar e aplicar esquemas de filtro a outras planilhas); Classificação Avançada por mês / semana / dia, frequência e mais; Filtro Especial por negrito, itálico ...
  • Combine pastas de trabalho e planilhas; Mesclar tabelas com base em colunas-chave; Divida os dados em várias folhas; Conversão em lote de xls, xlsx e PDF...
  • Mais de 300 recursos poderosos. Suporta Office / Excel 2007-2019 e 365. Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Teste gratuito de 30 dias com recursos completos. Garantia de devolução do dinheiro em 60 dias.
guia kte 201905

Guia do Office traz interface com guias para o Office e torna seu trabalho muito mais fácil

  • Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
  • Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!
officetab bottom
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?