Come impedire il salvataggio di una cartella di lavoro in Excel se una cella specifica è vuota?
Immagina di aver creato un modulo in Excel e di averlo condiviso con i tuoi colleghi. Vuoi che ciascuno inserisca il proprio nome in una cella specifica per identificare chi ha compilato il modulo. Se quella cella rimane vuota, desideri impedire il salvataggio del file. In questa guida ti mostrerò come utilizzare una macro VBA per bloccare il salvataggio quando la cella designata è vuota in Excel.
Impedisci il salvataggio se una cella specifica è vuota in Excel
Per evitare il salvataggio del foglio di lavoro corrente quando una cella specifica è vuota in Excel, puoi applicare facilmente la seguente macro VBA.
Passaggio 1: apri la finestra Microsoft Visual Basic for Applications premendo contemporaneamente i tasti Alt+F11.
Passaggio 2: in Esplora progetti, espandi VBAProject (IlTuoNome Workbook.xlsm) e Microsoft Excel Oggetti, quindi fai doppio clic su ThisWorkbook. Vedi screenshot:

Passaggio 3: nella finestra ThisWorkbook che si è aperta, incolla la seguente macro VBA:
Macro VBA: Impedisci il salvataggio se una cella specifica è vuota
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'Update by ExtendOffice 20220907
Dim xFileName As String
Dim xStr As String
Dim xStrWSH As String
Dim xWSh As Worksheet
Dim xWShs As Sheets
Dim xWSh1 As Worksheet
Dim xWB As Workbook
xStrWSH = "xHidWSH_LJY"
On Error Resume Next
Set xWB = Application.ActiveWorkbook
Set xWShs = xWB.Worksheets
Set xWSh = xWShs.Item(xStrWSH)
If xWSh Is Nothing Then
Set xWSh1 = xWShs.Add
xWSh1.Name = xStrWSH
xWSh1.Visible = xlSheetVeryHidden
Cancel = False
Else
If Trim(Application.Sheets("Sheet1").Range("A1").Value) = "" Then
Cancel = True
MsgBox "Save cancelled"
End If
End If
End Sub Nota:1. Alla riga 26 del codice VBA riportato sopra,"Sheet1"è il foglio specifico Nome del foglio di lavoro, e A1è la cella specifica; puoi personalizzarla in base alle tue esigenze.
2. Dopo aver inserito il codice VBA in ThisWorkbookDevi prima salvare la cartella di lavoro, dopodiché potrai inviare il file abilitato alle macro ad altre persone.
Ora, se la cella specificata è vuota nel foglio di lavoro corrente, quando tenti di salvare compare una finestra di avviso con il messaggio «Salvataggio annullato». Vedi lo screenshot seguente:

Articoli correlati
Come copiare le righe in cui una colonna contiene un testo o un valore specifico in Excel?
Come copiare celle quando una colonna contiene un valore o un testo specifico in Excel?
Migliori Strumenti per la Produttività in Office
Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un’efficienza mai vista prima.Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e Risparmia tempo.Clicca qui per ottenere la funzionalità di cui hai più bisogno...
Office Tab Porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice
- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede all’interno della stessa finestra, invece che in finestre separate.
- Aumenta la tua produttività del 50 % e risparmia centinaia di clic del mouse ogni giorno!
Tutti i componenti aggiuntivi di Kutools in un unico programma di installazione.
Kutools for Office è la suite che include componenti aggiuntivi per Excel, Word, Outlook e PowerPoint, oltre a Office Tab Pro: la soluzione ideale per i team che lavorano su diverse app di Office.
- Suite completa— componenti aggiuntivi per Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Un unico programma di installazione, una sola licenza— configurazione in pochi minuti (pronto per MSI)
- Funziona meglio insieme— produttività ottimizzata tra le app di Office
- Prova gratuita di 30 giorni con tutte le funzionalità— nessuna registrazione, nessuna carta di credito
- Miglior rapporto qualità-prezzo— risparmia rispetto all’acquisto dei singoli componenti aggiuntivi