Como copiar unas hojas de un libro a otro nuevo como valores, almacenarlo en una ruta especifica con el nombre de una celda.

Quiero copiar sólo 3 hojas de un archivo a un archivo nuevo como valores manteniendo el formato, y almacenarlo en una ruta especifica con el nombre que aparece en una celda.

Respuesta
1

Te anexo la macro para copiar 3 hojas.

Ante de ejecutar la macro, deberás cambiar el nombre de las 3 hojas que quieres copiar.

Tienes que poner la celda en donde está el nombre del archivo

Y también tienes que especificar la ruta.

Esos datos los tienes que poner las primeras líneas de la macro.

Sub Copiar3Hojas()
'Por.Dante Amor
    h1 = "Hoja1"
    h2 = "Hoja2"
    h3 = "Hoja3"
    nombre = [D5]
    ruta = "C:\trabajo\varios\"
    '
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Sheets(Array(h1, h2, h3)).Copy
    Sheets(h1).Cells.Copy
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues
    Sheets(h2).Cells.Copy
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues
    Sheets(h3).Cells.Copy
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues
    ActiveWorkbook.SaveAs ruta & nombre & ".xlsx"
    ActiveWorkbook.Close False
    MsgBox "Archivo guardado", vbInformation
End Sub

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: Tamaño y Propiedades. En la ventana que se abre selecciona la pestaña: Propiedades. Desmarca la opción “Imprimir Objeto”. Presiona “Cerrar”
  9. Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: Copiar3Hojas
  10. Aceptar.
  11. Para ejecutarla dale click a la imagen.

Saludos. Dante Amor

Si es lo que necesitas.

Hola,

Muchas gracias! lo corrí pero no está pegando como valores sino formulado, como se puede arreglar?

Gracias!

Cambia la macro por esta:

Sub Copiar3Hojas()
'Por.Dante Amor
    h1 = "Hoja1"
    h2 = "Hoja2"
    h3 = "Hoja3"
    nombre = [D5]
    ruta = "C:\trabajo\varios\"
    '
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Sheets(Array(h1, h2, h3)).Copy
    Sheets(h1).Cells.Copy
    Sheets(h1).Range("A1").PasteSpecial Paste:=xlPasteValues
    Sheets(h2).Cells.Copy
    Sheets(h2).Range("A1").PasteSpecial Paste:=xlPasteValues
    Sheets(h3).Cells.Copy
    Sheets(h3).Range("A1").PasteSpecial Paste:=xlPasteValues
    ActiveWorkbook.SaveAs ruta & nombre & ".xlsx"
    ActiveWorkbook.Close False
    MsgBox "Archivo guardado", vbInformation
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas