我有一个用户打开并完成的“主”时间表宏。关闭后,我强制一个宏(在 ThisWorkbook 中)运行并将主文件重命名为保存在范围保存名称中的文件名。
这在用户第一次打开 Excel、编辑和关闭工作簿时完美运行。但是,如果用户第二次打开“主”时间表,完成另一个时间表并关闭,中间没有关闭 Excel,则宏不会运行。
我进行了广泛的搜索,看看是否有一些“全局变量”需要重置但没有任何乐趣。
这是代码。任何意见,将不胜感激。
Private Sub Workbook_BeforeClose(SaveAsUI As Boolean)
If Not SaveAsUI Then
Cancel = True
Application.EnableEvents = False
MSG1 = MsgBox("This File will be saved as....... " & Sheets("Timesheet").Range("savename").Value & ".xlsm", vbOKOnly, "Confirm")
Me.SaveAs Filename:=ThisWorkbook.Path & "\" & Sheets("Timesheet").Range("savename").Value & ".xlsm"
ActiveWorkbook.Close False
Application.EnableEvents = True
End If
End Sub