Crear copia de libros en un excel

Necesito crear desde un libro de libro a partir de una hoja, me explico:

Yo tengo una hoja de excel donde ingreso los datos en la hoja (INGRESOS)y a partir de esos datos necesito que se me rellenen otras dos hojas (FORMULARIO); (INFORME) y que se me guarde una sola.

1 Respuesta

Respuesta
2

Qué pena pero no me quedó claro: Desde una hoja del libro activo, necesitas pasar la info a otras 2 hojas... ¿del mismo libro?

El pase puede ser con fórmulas del tipo BUSCARV o con macro y en ese caso se necesitan las referencias para saber dónde ubicar cada campo en las otras 2 hojas.

PD) En el video Nº 71 (COPIAR Y PEGAR) de mi canal dejé una guía completa de como pasar información de una hoja a otra.

Luego viene: '.. que se me rellenen otras dos hojas (FORMULARIO); (INFORME) y que se me guarde una sola....'

Aclárame este último punto por favor.

Hola, Elsa

Si perdona es que es un poco complicado de explicar, pero la macro que estoy diseñando esta compuesta por varios pasos:

1. Crear una carpeta con el nombre de una celda (Eso lo tengo)

2. En la hoja Ingresos (ver imagen adjunta) rellenare datos que se incluirán en la pestaña formulario, (hasta ahí lo tengo).

El paso 3 es el que no consigo realizar y es que lo que necesito básicamente es crear un copia de ese libro de excel y guardarlo en la ruta que yo decida, pero que la copia del nuevo libro sean las pestañas (FORMUALRIO, INFORME Y LAS OCULTAS).

No se si con esto queda claro, se que es un poco complicado.

Mil gracias!

Esta macro te permite elegir una ruta o directorio y dejar allí el libro con las hojas necesarias. Solo ajusta el nombre que le darás al nuevo libro.

ub guardar_Franceiri()
'x Elsamatilde
Dim ruta As String
'buscar la carpeta dónde se va a guardar el libro
Set Direc = Application.FileDialog(msoFileDialogFolderPicker)
If Direc.Show = 0 Then
    ruta = ThisWorkbook.Path       'se quedará en la misma ruta del libro activo
Else
    ruta = Direc.SelectedItems(1)  'guarda nombre del directorio seleccionado
End If
nombre = "LibroCopia.xlsm"          'AJUSTAR nombre de la copia a gusto
Application.ScreenUpdating = False
'hojas que se van a guardar como nuevo libro
ActiveWorkbook.Sheets(Array("Formulario", "Informe")).Copy
'se crea un libro con las hojas copiadas
Set wb = ActiveWorkbook
With wb
    .SaveAs ruta & "\" & nombre, FileFormat:=xlOpenXMLWorkbookMacroEnabled
    'cerramos el nuevo libro
    .Close
End With
End Sub

Sdos!

Te paso la macro ampliada para incluir también las hojas ocultas.

Sub guardar_Franceiris()
'x Elsamatilde
Dim ruta As String
'buscar la carpeta dónde se va a guardar el libro
Set Direc = Application.FileDialog(msoFileDialogFolderPicker)
If Direc.Show = 0 Then
    ruta = ThisWorkbook.Path       'se quedará en la misma ruta del libro activo
Else
    ruta = Direc.SelectedItems(1)  'guarda nombre del directorio seleccionado
End If
nombre = "LibroCopia.xlsm"          'ajustar nombre de la copia a gusto
Application.ScreenUpdating = False
'colección de hojas que se van a guardar como nuevo libro
Dim hojitas() As Variant
Dim cant As Byte
cant = 0
For Each sh In Sheets       'se evalúa si están de algún modo ocultas e incluye las 2 solicitadas
    If sh.Name = "Formulario" Or sh.Name = "Informe" Or sh.Visible = False Or sh.Visible = xlVeryHidden Then
        ReDim Preserve hojitas(0 To cant)
        sh.Visible = True                 'para incluir en la colección de modo visible
        hojitas(cant) = sh.Name
        cant = cant + 1
    End If
Next sh
'se crea un libro con las hojas copiadas
ActiveWorkbook.Sheets(hojitas()).Copy
Set wb = ActiveWorkbook
With wb
    .SaveAs ruta & "\" & nombre, FileFormat:=xlOpenXMLWorkbookMacroEnabled
    'opcional: cerramos el nuevo libro
    .Close
End With
End Sub

Si las hojas están ocultas de modo manual o con la instrucción VISIBLE = FALSE, no hace falta pasarlas a visible antes de copiarlas al nuevo libro (quedarán ocultas allí también).

Pero si fueron ocultas con la instrucción VISIBLE = xlVeryHidden habrá que pasarlas primero a visible para poder incluirlas en la copia. Luego en el libro de origen tendrás que volverlas a ocultar.

Cualquier duda solicitame el libro con el ejemplo a mi correo (aparece en sección Contactos de mi web que dejo al pie).

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas