Te anexo la macro actualizada para guardar en una carpeta específica y con la fecha actual:
Nota: La fecha debe separarse con guiones, ya que el caracter / no se permite en nombre de archivo.
Private Sub CommandButton2_Click()
'Guardar archivo de excel
Set h1 = Sheets("PLANIPEDIDOS")
ruta = "c:\trabajo\"
NombreHoja = h1.Name & " " & Format(Date, "dd-mmm-yyyy")
GuardarComo = Application.GetSaveAsFilename(InitialFileName:=ruta & NombreHoja, _
fileFilter:="Libro de Excel(*.xlsx), *.xlsx, Libro de Excel habilitado para macros(*.xlsm), *.xlsm, Libro de Excel 97-2003(*.xls), *.xls,CSV (delimitado por comas)(*.csv),*.csv", _
Title:="EXCELeINFO - guadar hoja activa como archivo nuevo.")
If GuardarComo = "" Or GuardarComo = Empty Then
MsgBox "Proceso cancelado"
Exit Sub
End If
'
With Application.WorksheetFunction
Extension = .Trim(Right(.Substitute(GuardarComo, ".", .Rept(" ", 500)), 500))
End With
'
Application.ScreenUpdating = False
Application.DisplayAlerts = False
h1.Copy
Set l2 = ActiveWorkbook
Select Case Extension
Case Is = "xlsx"
l2.SaveAs GuardarComo
Case Is = "xlsm"
l2.SaveAs GuardarComo, xlOpenXMLWorkbookMacroEnabled
Case Is = "xls"
l2.SaveAs GuardarComo, xlExcel8
Case Is = "csv"
l2.SaveAs GuardarComo, xlCSV
Case Else
'l2.SaveAs GuardarComo
End Select
l2.Close False
Application.ScreenUpdating = True
MsgBox "Archivo guardado"
End Sub
.
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias
.
Avísame cualquier duda
.