Bill ha una macro “prima del salvataggio” che verifica tre celle. Se le celle sono vuote, la macro interrompe il salvataggio dell’utente. In altre parole, devono riempire le celle prima di poter salvare la cartella di lavoro.

Bill vorrebbe salvare questa cartella di lavoro come modello, ma quando cancella le tre celle, la macro gli impedisce anche di salvare come modello. Vorrebbe che il modello fosse “pulito”, con il valore predefinito delle tre celle vuote. Gli utenti creerebbero una nuova cartella di lavoro basata sul modello e quindi (correttamente) non saranno in grado di salvare a meno che le celle non siano riempite.

Bill si chiede come può salvare la cartella di lavoro come modello, con le tre celle vuote.

In realtà ci sono una serie di approcci diversi che potresti adottare per salvare il tuo modello.

Il primo è cambiare il nome della tua cartella di lavoro in qualcosa di piuttosto esoterico, come X27TT3W.xlsm. Quindi, aggiungi un po ‘di logica alla tua macro “prima di salvare” che controlli per vedere se il nome della cartella di lavoro di base è X27TT3W. In tal caso, consentire il salvataggio della cartella di lavoro (o del modello) indipendentemente dalle condizioni delle tre celle. Una volta salvato il modello, puoi rinominarlo in Windows con il nome desiderato e può essere condiviso con i tuoi utenti. A meno che non indovinino il nome esoterico che hai scelto, non saranno in grado di salvare la cartella di lavoro senza assicurarsi che le tre celle siano riempite.

Un altro approccio consiste nell’aggiungere semplicemente un altro gestore di eventi alla cartella di lavoro, che viene eseguito alla prima apertura della cartella di lavoro, per cancellare il contenuto delle tre celle. Potrebbe essere qualcosa di semplice, come questo:

Private Sub Workbook_Open()

Sheet1.Cells(1,1).Clear     Sheet1.Cells(2,1).Clear     Sheet1.Cells(3,1).Clear End Sub

Questa macro cancella le celle in A1: A3. Se vuoi cancellare un intervallo diverso, cambia semplicemente le tre linee per riflettere le celle che vuoi cancellare. Quindi, inserisci qualcosa nelle tre celle (in modo che superi il test nella macro “prima di salvare”) e salvalo come modello.

Un altro approccio molto facile da implementare consiste nel disabilitare semplicemente gli eventi prima di salvare il modello. Questa operazione non viene eseguita all’interno di una macro, ma nella finestra Immediata in Visual Basic Editor. Tutto quello che devi fare è inserire questa singola riga:

Application.EnableEvents = False

Salva immediatamente la tua cartella di lavoro come modello, quindi inserisci la seguente riga nella finestra immediata di Visual Basic Editor:

Application.EnableEvents = True

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (13547) si applica a Microsoft Excel 2007, 2013, 2016, 2019 e Excel in Office 365.