Macro para guardar una ruta, en una carpeta especifica

Es posible que al ejecutar una macro pueda realizar dos cosas:

  1. Se guarde concatenando dos o mas nombres a la vez, Por ejemplo en con el valor de las celdas"C12", "C63" y "F63"
  2. Al guardar el archivo se vaya a una carpetas especificas, actualmente se guarda en una capeta activa.

Tengo estas carpetas creadas

Esos nomnbres están en una validación de lista en mi macro en la celda C63, la idea que según la opción que elija se guarde en la carpeta del mismo nombre.

Adjunto el código que gentilmente me apoyo Elsa Matilde, para ver si puede ajustar.

Sub Guardar_libro()
'Dim ruta, nombre As String
'ruta = Range("j39").Value´
'nombre = Range("c63").Value
    'ActiveWorkbook.SaveAs Filename:=ruta & "\" & nombre & ".xls"
    'x Elsa Matilde
nbreLibro = Range("C12").Value  'ajustar nombre que le darás al nuevo libro
'colocar en la matriz todas las hojas a copiar
Sheets(Array("R-HSE-EMCS", "Resumen")).Copy     'se guardan 2 hojas como libro nuevo
Set wb = ActiveWorkbook    'creamos un nuevo Libro
With wb
Application.DisplayAlerts = False
    'guardamos el libro en la misma carpeta
    .SaveAs ThisWorkbook.Path & "\" & nbreLibro & ".xls", FileFormat:=xlExcel8
    .Close    'cerramos el nuevo libro
Application.DisplayAlerts = True
End With
'se libera el objeto
Set wb = Nothing
MsgBox "Libro guardado."
End Sub

1 respuesta

Respuesta
1

Te anexo la macro actualizada.

La carpeta deberá estar en C:\

El nombre del archivo estará formado por las celdas C12 y F63

Sub Guardar_libro()
    'Dim ruta, nombre As String
    ruta = "C:\" & Range("C63").Value´
    'x Elsa Matilde
    nbreLibro = Range("C12").Value & Range("F63").Value
    'colocar en la matriz todas las hojas a copiar
    Sheets(Array("R-HSE-EMCS", "Resumen")).Copy     'se guardan 2 hojas como libro nuevo
    Set wb = ActiveWorkbook    'creamos un nuevo Libro
    With wb
        Application.DisplayAlerts = False
        .SaveAs ruta & "\" & nbreLibro & ".xls", FileFormat:=xlExcel8
        .Close    'cerramos el nuevo libro
        Application.DisplayAlerts = True
    End With
    'se libera el objeto
    Set wb = Nothing
    MsgBox "Libro guardado."
End Sub

'.[Sal u dos. Dante Amor. No olvides valorar la respuesta. 
'.[Avísame cualquier duda

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas