Copiar Hojas existentes en un nuevo libro de excel

Me gustaría crear una macro, para
Generar un archivo nuevo de Excel partiendo de unas hojas de otro libro:
Me explico tengo un archivo en Excel
Con 10 hojas
- Lista general
- RESUMEN
- T. DINÁMICA
- Resumen especifico
- INF. PERF.
- 0-LC
- 1-LT
- 2-TT
- 3-CPM
- 5-I.P.
De dicha información contenida el proceso a realizar es:
Copiar las hojas LISTA GENERAL, RESUMEN, RESUMEN ESPECIFICO, en una nueva hoja de cálculo, y romper las fórmulas para general conflictos, después mostrar todas las columnas ocultas de la hoja LISTA GENERAL y eliminar las columnas A, D, E, F, M, O. ¿Es posible realizar una macro que realice este procedimiento?

1 respuesta

Respuesta
2

Si es posible realizar lo que pides, pero me puedes comentar sobre lo siguiente:

Quieres copiar 3 hojas en un nuevo libro, ¿las 3 hojas en una sola hoja?

O quieres copiar la 3 hojas en un nuevo libro, ¿cada hoja en una nueva hoja del nuevo libro?

¿A qué le llamas "romper las fórmulas para general conflictos"?

Saludos. DAM

En el archivo donde están las 10 hojas simplemente quiero copiar las tres hojas de LISTA GENERAL, RESUMEN, RESUMEN ESPECÍFICO algo muy parecido a la opción de (MOVER O COPIAR) que queden con el mismo nombre de la hoja no es más.

Y lo de las formulas es que las hojas LISTA GENERAL, RESUMEN, RESUMEN ESPECIFICO que van a quedar en un nuevo archivo está ligado con fórmulas que se enlazan unas con otras, entonces la idea es que al final de copiar las hojas a un archivo nuevo conservando el
formato si use la opción de (COPIAR Y PEGAR VALORES).

No sé si me hago entender mejor cualquier duda estere pendiente

Sigue las Instrucciones para un botón y ejecutar la macro
1. Abre tu libro de Excel
2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
3. En el menú elige Insertar / Módulo
4. En el panel del lado derecho copia la macro
5. Ahora para crear un botón, puedes hacer lo siguiente:
6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona Asignar macro / Selecciona: copia3hojas
9. Aceptar.
10. Para ejecutarla dale click a la imagen.

Sub copia3hojas()
'Por.DAM
Application.ScreenUpdating = False
Set l1 = ThisWorkbook
    Workbooks.Add
    Set l2 = ActiveWorkbook
    h = Array("LISTA GENERAL", "RESUMEN", "RESUMEN ESPECÍFICO")
    For i = UBound(h) To LBound(h) Step -1
        Sheets.Add
        n = ActiveSheet.Name
        l1.Sheets(h(i)).Cells.Copy
        l2.Sheets(n).Range("A1").PasteSpecial Paste:=xlPasteValues
        l2.Sheets(n).Range("A1").PasteSpecial Paste:=xlPasteFormats
        l2.Sheets(n).Name = h(i)
    Next
    l2.Sheets("LISTA GENERAL").Range("A:A,D:D,F:F,E:E,M:M,O:O").Delete Shift:=xlToLeft
End Sub

Revisa en la macro que los nombres de las hojas estén correctos.

Saludos. DAM
Si es lo que necesitas.

Hice el procedimiento al pie de la letra pero aparece msn que dice:

Se ha producido el error '9' en tiempo ejecución:

Subíndice fuera del intervalo

hago click en depurar y se resalta este ( l1.Sheets(h(i)).Cells.Copy)

Revisa los nombres de las hojas y los nombres que están en la macro, no estoy seguro si la última hoja lleva o no acento.

También revisa que los nombres de tus hojas no tengan espacios al principio o al final

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas