Excel VBA – ¿Por qué mi "Guardar como" no funciona?

Tengo un script de VBA en su lugar, de modo que si una celda está en blanco, Excel solicitará que se guarde el file.

Esto es asegurar que la plantilla no sea alterada. Sin embargo, cuando el usuario hace clic en save en el cuadro de dialog "Guardar como", el file no se guarda.

Este es el código que estoy usando:

If Worksheets("Input").Range("E2").Value = "" Then Application.EnableEvents = False Application.GetSaveAsFilename InitialFileName:="\\ac35542\Problem Management\Action Plans\ChangeMe.xlsm", FileFilter:="Excel Macro-Enabled Workbook (*.xlsm),*.xlsm" Application.EnableEvents = True MsgBox "Please ensure fill in the Problem Reference Number, Problem Title, and Select a Contract", vbExclamation, "PR Reference & Title" Worksheets("Input").Select Range("E2").Select End If 

¿Por qué el file no se guarda?

Como seguimiento de MSDN

Application.GetSaveAsFilename muestra el cuadro de dialog Guardar como estándar y obtiene un nombre de file del usuario sin save realmente ningún file. .

usa este en su lugar:

 Dim fileSaveName If Worksheets("Input").Range("E2").Value = "" Then Application.EnableEvents = False fileSaveName = Application.GetSaveAsFilename(InitialFileName:="\\ac35542\Problem Management\Action Plans\ChangeMe.xlsm", FileFilter:="Excel Macro-Enabled Workbook (*.xlsm),*.xlsm") Application.EnableEvents = True If fileSaveName <> "False" Then Application.DisplayAlerts = False ThisWorkbook.SaveAs (fileSaveName) Application.DisplayAlerts = True End If MsgBox "Please ensure fill in the Problem Reference Number, Problem Title, and Select a Contract", vbExclamation, "PR Reference & Title" Worksheets("Input").Select Range("E2").Select End If