Macro en Excel para que me abra el cuadro "Guardar Como" pudiendo elegir destino y nombre

Necesito una macro para que al ejecutarla me abra el diálogo o como se llame "Guardar Como", que me deje elegir el nombre, que me deje elegir la ubicación y que por default lo guarde con extensión xlsm. ¿Será posible?

1 Respuesta

Respuesta
3

Te anexo la macro

Sub GuardarComo()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    ruta = ThisWorkbook.Path & "\"
    With Application.FileDialog(msoFileDialogSaveAs)
        .Title = "Guardar archivo como"
        .AllowMultiSelect = False
        .InitialFileName = ruta
        .FilterIndex = 2
        If .Show Then
            ActiveWorkbook.SaveAs Filename:=march & ".xlsm", _
            FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
        End If
    End With
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub

Saludos.Dante Amor

Hola Dante, lo hice y tengo dos inconvenientes: 1. Al ejecutar la macro, me abre el díalogo, me deja elegir carpeta, pone la extensión xlsm PERO no guarda nada !!. 2. Amén de que "simula" hacerlo y no lo hace, el otro problema es que me arroja un error al finalizar la ejecución del tipo "Se producido un error 1004... Finalizar-Depurar", intentaré adjuntar imagen de pantalla. Gracias por lo que puedas hacer

Disculpa el inconveniente, me faltó una línea, utiliza esta macro

Sub GuardarComo()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    ruta = ThisWorkbook.Path & "\"
    With Application.FileDialog(msoFileDialogSaveAs)
        .Title = "Guardar archivo como"
        .AllowMultiSelect = False
        .InitialFileName = ruta
        .FilterIndex = 2
        If .Show Then
            march = .SelectedItems(1)
            ActiveWorkbook.SaveAs Filename:=march & ".xlsm", _
            FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
        End If
    End With
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub

Saludos.Dante Amor

Ya casi lo tenemos Dante !!!, anda perfecto, pero un detalle, el archivo me lo guarda de la siguiente manera "nombre del archivo".xlsm.xlsm

Es decir, me repite la extensión, ¿alguna sugerencia?

Mil disculpas por las consultas, pero esta quedan tremendo !!! Gracias

No te preocupes, le seguimos hasta que funcione como la quieres.

Prueba con este cambio:

Sub GuardarComo()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    ruta = ThisWorkbook.Path & "\"
    With Application.FileDialog(msoFileDialogSaveAs)
        .Title = "Guardar archivo como"
        .AllowMultiSelect = False
        .InitialFileName = ruta
        .FilterIndex = 2
        If .Show Then
            march = .SelectedItems(1)
            march = Replace(march, ".xlsm", "")
            ActiveWorkbook.SaveAs Filename:=march & ".xlsm", _
            FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
        End If
    End With
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas