jueves, 12 de diciembre de 2013

Como copiar una hoja de Excel automáticamente varias veces


Hace ya varias semanas me hicieron una consulta, en la cual me preguntaban, como podían hacer una copia de hoja varias veces de manera automática.
Para ello vamos a usar una Macros en Excel, y seguiremos los siguientes pasos:
Paso 1: Estando en Excel presionamos la tecla ALT+F11, para activar el Visual Basic.


Paso 2: Presionamos el menú Insertar, y seleccionamos la opción Modulo.


Paso 3: Copiamos el siguiente código:
Sub CopiaHoja()
    On Error Resume Next
    nombreHoja = InputBox("Indique el nombre de la Hoja que desea copiar")
    For x = 1 To Sheets.Count
        If ActiveWorkbook.Sheets(x).Name = nombreHoja Then
            ExisteHoja = True
            IndiceHoja = x
        End If
    Next x
    
    If ExisteHoja = True Then
        NumeroDeCopias = InputBox("Indique cuantas veces lo desea copiar")
        For y = 1 To NumeroDeCopias
            Nombre = Val(nombreHoja) + y
            Sheets(IndiceHoja).Select
            Sheets(IndiceHoja).Copy After:=Sheets(Sheets.Count)
            Sheets(Sheets.Count).Name = Nombre
        Next y
    Else
        MsgBox "La hoja no existe"
    End If
End Sub

Paso 4: Cerramos el Visual Basic y regresamos al Excel.

Estando ya en el Excel, seleccionamos la etiqueta Vista, luego hacemos clic en el botón Macros, ver Macros.


En la ventana de Macro, seleccionamos CopiaHoja, y presionamos el botón Ejecutar.


Luego de presionar el botón ejecutar, aparece una ventana donde nos solicita escribir el nombre de la hoja que queremos copiar. En este caso colocaremos "100"


Después de indicar el nombre de la hoja, nos pregunta cuantas veces lo deseo copiar, en este caso colocaremos 10.


Luego nos aparecerá 10 hojas adicionales que son copia de la hoja 100, y los nombres de las hojas han cambiado correlativamente.


Espero que les sirva

Saludos

Ing. Enrique Neciosup Morales

40 comentarios:

  1. Muchas gracias, me fue de gran ayuda

    ResponderBorrar
  2. Muy útil, muchas gracias!

    ResponderBorrar
  3. Gracias, excelente aporte. Me sirvió muchísimo.

    ResponderBorrar
  4. uff....master......gracias, excelente explicación. funciona 100 %

    ResponderBorrar
  5. Excelente información.
    Me ahorro muchisimo tiempo!

    ResponderBorrar
  6. GRACIAS!!!! ME SALVASTES EL "PELLEJO" :)

    ResponderBorrar
  7. me sirvir demaciado , muchas gracias

    ResponderBorrar
  8. Muchas gracias, me sirvió demasiado.

    ResponderBorrar
  9. muy gradecitopor sta explicacion tan util

    ResponderBorrar
  10. MUCHAS GRACIAS!!!!!! ME AHORRO MUCHISIMO TIEMPO :)

    ResponderBorrar
  11. ¡BUENISIMOO GRACIAS! Ha cambiado la forma de acceder al Visual Basic, yo le di click derecho en una hoja cualquiera y aparece la opción "Ver Código", luego sólo seguí los pasos del amigo y todo funcionó de maravilla! Gracias!

    ResponderBorrar
    Respuestas
    1. Efectivamente es otra forma de acceder. Gracias por el aporte

      Borrar
  12. ¡Muchas gracias! un súper consejo, me ahorro mucho trabajo :)

    ResponderBorrar
  13. Dios te bendiga por tan excelente información.

    ResponderBorrar
  14. EXCELENTE es poco. MUCHAS GRACIAS!!!

    ResponderBorrar
  15. Me ayudo mucho
    Tengo una duda, si quiero nombrar las hojas con numeros que tengo en una que debo hacer

    ResponderBorrar
  16. Buenas tardes, a mi salió un error de compilación no se a qué se refiere
    resalta la parte que dice nombreHoja =

    ResponderBorrar
  17. Excelente aporte. Gracias por la ayuda

    ResponderBorrar
  18. Excelente aporte muchas gracias, donde podría conseguir que los encabezados se llenen automáticamente?

    ResponderBorrar
  19. Excelente aporte muchas gracias.

    ResponderBorrar
  20. Excelente, me ahorro mucho tiempo.

    ResponderBorrar
  21. MUCHAS GRACIAS PERFECTO

    ResponderBorrar
  22. muchas gracias, muy util

    ResponderBorrar
  23. Muchísimas gracias! Excelente aporte.

    ResponderBorrar
  24. EXCELENTE, MUCHAS GRACIAS, BUEN DATO.

    ResponderBorrar