Macro Excel Guardar excel en carpeta con nombre de dos celdas y con nombre de excel el de otra celda

Estoy trabajando con una plantilla de excel en la que quiero que se guarde en una nueva carpeta que se creara con la macro de nombre la celda D8 (ANA-13) seguido del nombre de la celda C12 (REPARACIÓN VENTANAS). Además el archive guardado en esa carpeta nueva tenga nombre el de la celda D8 (ANA-13).

He logrado con la function siguiente que me guarde el documento con el nombre de la celda D8 en la carpeta que yo le indico, pero solo se guarda cuando ejecuto la macro. Querría saber como ejecutarla automáticamente cuando se guarde el documento, desde el documento excel.

Sub Auto_SaveAS()
' Te guarda el archivo con la extension que requieras y en el lugar donde lo quieras

Dim MiArchivo As String
MiArchivo = Range("D8")
ActiveWorkbook.SaveAs Filename:= _
"\\Dirección de la carpeta donde quiero guardarlo" & MiArchivo, _
FileFormat:=xlWorkbookNormal, CreateBackup:=False 'Aqui se modifica el tipo de extension que deseas
Application.DisplayAlerts = True

End Sub

Si pudierais ayudarme con esta macro e explicarmelo detalladamente me sería de gran

1

1 Respuesta

2.084.840 pts. En mi sitio encontraran material de ayuda, ejemplos...

Para que se ejecute al momento que realizas un guardado, la macro debe colocarse en el evento BeforeSave del libro (en el editor, doble clic en el panel de tu izquierda, objeto ThisWorkbook)

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'x Elsamatilde
'antes de guardar este libro se guardará la copia
'se crea un nuevo directorio
dire = Sheets("Hoja2").[D8] & Sheets("Hoja2").[C12]
On Error Resume Next
MkDir "C:\" & dire
On Error GoTo 0
'se establece el nombre del libro-ajustar extensión
libro = Sheets("Hoja2").[D8] & ".xlsx"
'se guarda la copia
ActiveWorkbook.SaveCopyAs "C:\" & dire & "\" & libro
End Sub

Revisa cada línea y ajusta a tu criterio. Por ejemplo:

- En qué hoja se encuentran los datos, puede ser la hoja activa (ActiveSheet) o el nombre de la hoja que en mi ejemplo es la Hoja2.

- El directorio quedó en C... completa la instrucción MKDIR con la ruta en donde debe ser creada la nueva carpeta.

- La extensión quedó como xlsx ... verifica.

- El control de error lo que hará es que si la carpeta ya existe no la creará y allí mismo se guardará.

Sdos y no olvides valorar la respuesta (excelente o buena).

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas