Te anexo la macro para guardar y guardar como.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'Por.Dante Amor
Application.DisplayAlerts = False
If SaveAsUI Then
'Seleccionar carpeta
arch = [A1]
ruta = ThisWorkbook.Path & "\"
Set fldr = Application.FileDialog(msoFileDialogFolderPicker)
With fldr
.Title = "Selecciona una carpeta"
.AllowMultiSelect = False
.InitialFileName = ruta
If .Show <> -1 Then Exit Sub
cp = .SelectedItems(1) & "\"
End With
Application.EnableEvents = False
ActiveWorkbook.SaveAs Filename:=cp & arch & ".xlsm", _
FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
Application.EnableEvents = True
Cancel = True
Else
'guarda en mis documentos
Application.EnableEvents = False
misdoc = CreateObject("WScript.Shell").SpecialFolders("MyDocuments") & "\"
ActiveWorkbook.SaveAs Filename:=misdoc & ThisWorkbook.Name, _
FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
Application.EnableEvents = True
Cancel = True
End If
End Sub
Antes de valorar una respuesta, y si todavía tienes dudas, puedes solicitar más información. Si las repuestas son correctas, podrías cambiar la valoración.
S a l u d o s . D a n t e A m o r
Recuerda valorar la respuesta.