ユーザーが開いて完了する「マスター」タイムシート マクロがあります。閉じると、(ThisWorkbook 内の) マクロを強制的に実行し、マスターの名前を範囲保存名に保持されているファイル名に変更します。
これは、ユーザーが初めて Excel を開き、ワークブックを編集して閉じるときに完全に機能します。ただし、ユーザーが "マスター" タイムシートを 2 回目に開き、別のタイムシートを完了して閉じ、その間に 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