Sommario:
Video: Excel: come impedire modifiche alle celle 2024
Ci sono momenti in cui non vuoi che un utente chiuda una cartella di lavoro di Excel senza inserire una specifica porzione di dati. In queste situazioni, sarebbe utile negare all'utente la possibilità di chiudere la cartella di lavoro fino a quando la cella di destinazione non viene compilata (come mostrato qui). È qui che entra in gioco questa nifty macro.
Previene la chiusura fino a quando non viene popolata una cella specifica.Come funziona la macro
Questo codice viene attivato dall'evento BeforeClose della cartella di lavoro. Quando si tenta di chiudere la cartella di lavoro, questo evento si attiva, eseguendo il codice all'interno. Questa macro controlla se la cella obiettivo (cella C7, in questo caso) è vuota. Se è vuoto, il processo di chiusura è annullato. Se C7 non è vuoto, la cartella di lavoro viene salvata e chiusa:
Cartella secondaria privata_BeforeClose (Annulla come booleano) 'Passaggio 1: verificare se la cella C7 è vuota Se Fogli ("Foglio1"). Range ("C7"). Valore = "Allora" Passaggio 2: Se la cella è vuota, annulla la chiusura e comunica all'utente Annulla = Vero MsgBox "La cella C7 non può essere vuota" "Passaggio 3: Se la cella non è vuota, salva e chiudi Else ActiveWorkbook. Chiudi SaveChanges: = True End If End Sub
Il passaggio 1 controlla se C7 è vuoto.
Se C7 è vuoto, il passaggio 2 ha effetto, annullando il processo di chiusura passando True a Annulla Booleano Il passaggio 2 attiva anche una finestra di messaggio che notifica all'utente la sua stupidità (beh, non è proprio così duro, in realtà).
Al punto 3, se la cella C7 non è vuota, la cartella di lavoro viene salvata e chiuso.
Come utilizzare la macro
Per implementare questa macro, è necessario copiarla e incollarla nella finestra del codice evento Workbook_BeforeClose. Inserendo qui la macro è possibile eseguirla ogni volta che si tenta di chiudere la cartella di lavoro: <
-
Nella finestra del progetto, trova il nome del progetto / cartella di lavoro e fai clic sul segno più accanto per visualizzare tutti i fogli. > Fai clic su ThisWorkbook.
-
Nell'elenco a discesa Evento, selezionare l'evento BeforeClose.
-
Digita o incolla il codice nel modulo appena creato.
-
Immettere il codice nell'evento Workbook BeforeClose.