Nel file che hai allegato non c'è nessuna macro.
Comunque alla macro che hai potresti aggiungere un'istruzione di questo tipo che crea una sorta di contatore ogni volta che viene eseguita la macro
vb
Range("ZZ1000") = Range("ZZ1000") + 1
"ZZ1" puoi sostituirlo con una cella a tuo piacere.
Poi con una procedura di questo tipo da inserire nel modulo Questa_cartella_di_lavoro
vb
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Range("zz1").Value = 0 Then
MsgBox "Eseguire la macro"
Cancel = True
End If
End Sub
controlli il valore della cella zz1; se è uguale a 0 non ti fa chiudere il file.
Ovviamente con una procedura Workbook_Open() dovrai riportare a 0 il valore di ZZ1.
[Modificato da alfrimpa 09/05/2018 19:01]
Alfredo