Ciao CPAL, benvenuto nel forum.
Il mio suggerimento e' che ti fai una colonna di servizio nel tuo foglio per controllare che ogni riga sia compilata correttamente.
Es in Z3 potresti usare la formula =SE(A3<>"";CONTA.VUOTE(B3:L3);0)
Se "0" significa che la riga e' compilata correttamente (o vuota); se <>0 significa che e' ancora da compilare.
Copia poi Z3 verso il basso per tutte le righe del tuo foglio (quindi sembrerebbe fino a Z500); poi in Z1 scrivi =Somma(Z3:Z500)
Quindi un valore diverso da 0 in Z1 significa file incompiuto, che per te significa che non puo' essere chiuso.
Poi, da Excel:
-Alt-F11 per aprire l' editor delle macro
-cerca nel frame Progetto-VBAProject di sinistra la voce ThisWorkbook (o QuestaCartellaDiLavoro) ed espandila con doppioclick.
Inserisci quind nel frame vuoto di dx questa macro:
- Codice: Seleziona tutto
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Sheets("Foglio1").Range("Z1") <> 0 Then
MsgBox ("Il messaggio di errore che preferisci" & vbCrLf _
& "Il file non puo' essere chiuso" & vbCrLf _
& "Correggere")
Cancel = True
End If
End Sub
Prova a questo punto a compilare un modulo con campi mancanti e verifica che la chiusura sia vietata.
Non commento sulla scelta di impedire a un utente di sbarazzarsi di un file nemmeno quando finisce la giornata lavorativa.
Ciao