起動時に セルのフラグ保存セルをクリア
ここでは、A1セル

Private Sub Workbook_Open()

    Sheets(1).Unprotect
    Sheets(1).Cells(1).ClearContents

End Sub


プログラムの実行ボタンを押したタイミングで、フラグ保存セルに、フラグ「1」を代入
起動直後は、クローズボタン「×」でExcelを閉じられるように、実行ボタンを押したタイミングでフラグを立てる
ここでは、A1セル

Sub Sepia実行()

    Sheets(1).Unprotect
    Sheets(1).Cells(1).Value = 1

End Sub


クローズボタン「×」でExcelを閉じようとすると、フラグが立っているので、メッセージを表示して、クローズをキャンセルする

Private Sub Workbook_BeforeClose(Cancel As Boolean)

    If Sheets(1).Cells(1).Value = 1 Then
    
        MsgBox "メニューの終了ボタンで終わらせてください。", vbExclamation, "終了"
        Cancel = True
        
        Exit Sub
    
    End If

    Application.Quit

End Sub


メニューの終了ボタンでは、フラグをクリアしてからクローズする

Sub 終了処理()
   
    Sheets(1).Unprotect
    Sheets(1).Cells(1).ClearContents

'保存終了
    ThisWorkbook.Close SaveChanges:=True

End Sub