Note: The other languages of the website are Google-translated. Back to English
Iniciar sesión  \/ 
x
or
x
Regístrate  \/ 
x

or

¿Cómo copiar varias hojas varias veces en Excel?

A veces, es posible que necesitemos hacer una copia o varias copias de hojas de trabajo específicas en un libro de trabajo. Aquí hay algunas formas rápidas de ayudarlo a copiar fácilmente una hoja de trabajo o varias hojas de trabajo varias veces en Excel.


Haga una copia de varias hojas de trabajo una vez en un libro de trabajo activo u otro libro de trabajo con el comando Mover o Copiar

Con la Mover o copiar comando en Excel, puede hacer una copia de una hoja de trabajo, varias hojas de trabajo específicas o todas las hojas de trabajo en un libro activo u otro libro a la vez.

1. En el libro de trabajo determinado donde copiará las hojas de trabajo, seleccione varias hojas de trabajo en la barra de la pestaña Hoja.
<b>Nota</b>: Sosteniendo CTRL clave, puede seleccionar varias pestañas de hojas no adyacentes haciendo clic en ellas una por una en la barra de pestañas de hojas; participación BASICO , puede seleccionar varias pestañas de hojas adyacentes haciendo clic en la primera pestaña de la hoja y la última en la barra de pestañas de la hoja.

2. Haga clic con el botón derecho en la pestaña de la hoja seleccionada en la barra de pestañas de la hoja y seleccione Mover o copiar desde el menú contextual. Ver captura de pantalla:
doc copiar varias hojas 01

3. En la Mover o copiar cuadro de diálogo, especifique la siguiente configuración:
(1) Especifique el libro de trabajo de destino en el que copiará las hojas de trabajo desde el Reservar la lista desplegable. Puede elegir el libro de trabajo activo, otro libro de trabajo abierto o un nuevo libro de trabajo según lo necesite.
(2) Especifique la posición de las hojas copiadas en la barra de la pestaña Hoja, puede elegir después de todas las hojas existentes.
(3) Comprobar Crea una copia opción, si no marca esta opción, las hojas de trabajo seleccionadas se moverán al libro de trabajo de destino.
(4) Haga clic en el OK botão.

Ahora solo hará una copia de las hojas de trabajo seleccionadas en el libro de trabajo especificado. Para hacer varias copias de estas hojas de trabajo, puede repetir la operación varias veces.

Solo varios clics para hacer varias copias de varias hojas de trabajo en el libro activo

En general, podemos copiar varias hojas de trabajo con el Mover o copiar característica en Excel. Sin embargo, esta función solo puede realizar una copia a la vez. Aquí, con Kutools para Excel Copiar hojas de trabajo utilidad, puede hacer fácilmente tantas copias de muchas hojas de trabajo como necesite en el libro activo con solo varios clics. ¡Prueba gratuita de todas las funciones de 30 días!
copia de anuncios varias hojas de trabajo 01

Kutools for Excel - Incluye más de 300 útiles herramientas para Excel. Prueba gratuita de todas las funciones durante 30 días, ¡no se requiere tarjeta de crédito! CONSÍGUELO AHORA

Haga varias copias de una hoja de trabajo especificada en un libro de trabajo activo con código VBA

Si desea hacer 10 copias de una hoja de trabajo especificada, la Mover o copiar El comando será una forma que llevará mucho tiempo y deberá repetir la operación muchas veces. Pero con el siguiente código VBA, puede copiar rápidamente la hoja de trabajo 10 veces a la vez.

1. Mantenga pulsado el ALT + F11 llaves, y abre el Microsoft Visual Basic para aplicaciones ventana.

2. Hacer clic recuadro > Móduloy pegue el siguiente código en la ventana del módulo.

VBA: haga varias copias de ciertas hojas de trabajo en un libro activo

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

<b>Nota</b>: En el código anterior, reemplace "Sheet1"con el nombre de la hoja a copiar.

3. Entonces presione F5 para ejecutar el código, aparece un cuadro de aviso para preguntarle el número de copias de hojas que desea.

4. Luego haga clic OK, la hoja de trabajo especificada se ha copiado 100 veces en el libro activo.


Haga múltiples copias de varias hojas de trabajo en un libro activo con Kutools para Excel

Aunque es sencillo hacer una copia de varias hojas de trabajo en Excel, si desea hacer varias copias de varias hojas de trabajo en el libro actual, es posible que deba usar el Mover o copiar elemento de comando una y otra vez. ¿Le gustaría hacer todo con un clic? Con el Copiar hojas de trabajo utilidad del complemento de terceros Kutools for Excel, puede hacer varias copias de varias hojas de trabajo con un solo clic en Excel.

Kutools for Excel - Incluye más de 300 útiles herramientas para Excel. Prueba gratuita de todas las funciones durante 30 días, ¡no se requiere tarjeta de crédito! CONSÍGUELO AHORA

1. Hacer clic Kutools Plus > Copiar hojas de trabajo. Ver captura de pantalla:

<b>Nota</b>: Haciendo clic Kutools Plus > Hoja de trabajo > Copiar hojas de trabajo también obtendrá esta función.

2. Aplicar la configuración en el Copiar varias hojas de trabajo caja de diálogo:
(1) Verifique las hojas de trabajo de las que desea copiar Copiar las hojas de trabajo seleccionadas .
(2) Especifique El número de copias.
(3) Determine la posición de las hojas copiadas, por ejemplo, antes o después de todas las hojas de trabajo, antes o después de la hoja de trabajo actual.
(4) Haga clic en el Ok botão.

3. Aparece un cuadro de aviso para recordarle que las hojas de trabajo marcadas se han copiado varias veces según lo necesite, haga clic en el OK botón para salir. Ver captura de pantalla:

Esta historia de Copiar varias hojas de trabajo característica de Kutools for Excel hará varias copias de varias hojas de trabajo especificadas en el libro activo con solo varios clics. ¡Tenga una prueba gratis!


Haga una copia de varias hojas de trabajo de varios libros de trabajo en una nueva

Si tiene Kutools para Excel instalado, también puede aplicar su Combinar hojas de trabajo función para hacer una copia de varias hojas de trabajo de varios libros cerrados en un nuevo libro con varios clics solo en Excel.

Kutools for Excel - Incluye más de 300 útiles herramientas para Excel. Prueba gratuita de todas las funciones durante 30 días, ¡no se requiere tarjeta de crédito! CONSÍGUELO AHORA

1. Hacer clic Kutools Plus > Combinar para activar la función Combinar hojas de trabajo.

2. En el asistente Combinar hojas de trabajo: paso 1 de 3, Combine varias hojas de trabajo de libros de trabajo en una sola hoja de trabajo opción, y haga clic en Eventos Proximos botón. Ver captura de pantalla:

3. En el asistente Combinar hojas de trabajo - Paso 2 de 3, haga lo siguiente:
(1) Click Añadir > Archivo or carpeta para agregar libros de trabajo de los que copiará hojas de trabajo.
(2) En el Lista de libros de trabajo sección, consulte el libro cuyas hojas de trabajo copiará;
(3) En el Lista de hojas de trabajo sección, verifique las hojas de trabajo que copiará;
(4) Repita arriba (2) y (3) para seleccionar hojas de trabajo de otros libros que copiará.
(5) Haga clic en el Eventos Proximos botão.

4. En el asistente Combinar hojas de trabajo: paso 3 de 3, configure los ajustes de copia que necesite y haga clic en el Acabar botão.

5. Ahora, en el nuevo cuadro de diálogo, especifique una carpeta de destino para guardar el nuevo libro de trabajo, nombre el nuevo libro de trabajo en el Nombre de archivo caja, y haga clic en Ahorra botón. Ver captura de pantalla:

Ahora aparecerán otros dos cuadros de diálogo y le pedirán que abra el nuevo libro de trabajo y guarde el escenario de combinación, haga clic en los botones que necesite. Hasta ahora, ha copiado todas las hojas de trabajo especificadas de varios libros de trabajo a la vez.

Con este Combinar (hojas de trabajo) utilidad, puede copiar y combinar fácilmente hojas de trabajo y libros de trabajo como se muestra a continuación. ¡Tenga una prueba gratis!
(1) Combine rápidamente varias hojas de trabajo / rangos de libros de trabajo en una sola hoja de trabajo;
(2) Fusionar / combinar rápidamente todas las hojas de trabajo del mismo nombre en los libros de trabajo en una sola hoja de trabajo;
(3) Fusionar / combinar rápidamente hojas de trabajo o libros de trabajo en un libro de trabajo;
(4) Resuma / calcule rápidamente datos de varias hojas de trabajo en una sola hoja de trabajo.


Las mejores herramientas de productividad de oficina

Kutools para Excel resuelve la mayoría de sus problemas y aumenta su productividad en un 80%

  • Reutilizar: Inserte rápidamente fórmulas complejas, gráficos y cualquier cosa que hayas usado antes; Cifrar celdas con contraseña; Crear lista de distribución y enviar correos electrónicos ...
  • Barra de súper fórmula (edite fácilmente varias líneas de texto y fórmulas); Diseño de lectura (leer y editar fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas sin perder datos; Contenido de celdas divididas; Combinar filas / columnas duplicadas... Prevenir celdas duplicadas; Comparar rangos...
  • Seleccione Duplicado o Único Filas; Seleccionar filas en blanco (todas las celdas están vacías); Super Find y Fuzzy Find en muchos libros de trabajo; Selección aleatoria ...
  • Copia exacta Varias celdas sin cambiar la referencia de la fórmula; Crear referencias automáticamente a varias hojas; Insertar viñetas, Casillas de verificación y más ...
  • Extraer texto, Agregar texto, Eliminar por posición, Quitar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtros a otras hojas); Orden avanzado por mes / semana / día, frecuencia y más; Filtro especial en negrita, cursiva ...
  • Combinar libros y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes de xls, xlsx y PDF...
  • Más de 300 potentes funciones. Compatible con Office / Excel 2007-2019 y 365. Compatible con todos los idiomas. Fácil implementación en su empresa u organización. Características completas Prueba gratuita de 30 días. Garantía de devolución de dinero de 60 días.
pestaña kte 201905

Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!
officetab parte inferior
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?