Convalida dati Excel

Limitare l’inserimento dati tramite convalida dati

Autore: Andrea Pacchiarotti
Ultimo aggiornamento: 14 Giugno 2021
Categoria: Microsoft Office Excel Convalida Dati

Protezione in Excel
Excel Convalida dati

La convalida dei dati permette di limitare l’inserimento dei valori inseriti in una cella a specifici dati (un po' come fanno il valido se e il messaggio di errore presenti nelle proprietà delle tabelle Access). Tramite Convalida dati si può, per esempio, permettere l’immissione solo di numeri, date o testi compresi tra due valori ma anche, come vedremo, di fare molto di più. La convalida dati è spesso utilizzata per creare un elenco a discesa.

Sommario Excel Convalida dati

Impostare una convalida dati in Excel

Per impostare una convalida dati in Excel

  1. Seleziona le celle su cui desideri creare una regola di convalida
  2. Seleziona la scheda Dati e poi l’icona Convalida dati.
  3. Nella scheda Impostazioni scegli una voce in Consenti:
    • Qualsiasi valore: è il default e consente di inserire qualsiasi tipo di contenuto
    • Numero intero: permette l'immissione di soli numeri interi (maggiore, minore, diverso, uguale, tra i valori specificati)
    • Decimale: permette l'immissione di soli numeri decimali (maggiore, minore, diverso, uguale, tra i valori specificati)
    • Elenco: permette di selezionare dati da un elenco a discesa
    • Data: permette l'immissione di sole date (maggiore, minore, diverso, uguale, tra i valori specificati)
    • Ora: permette l'immissione di sole ore (maggiore, minore, diverso, uguale, tra i valori specificati)
    • Lunghezza testo: permette l'immissione di soli testi di una data lunghezza (maggiore, minore, diverso, uguale, tra i valori specificati)
    • Personalizzato: permette di inserire formule personalizzate
  4. In Dati, quando consentito, seleziona una condizione e imposta gli altri valori necessari
  5. Seleziona la scheda Messaggio di input e personalizza un titolo e un messaggio da mostrare agli utenti che immettono i dati (seleziona la casella di controllo Mostra messaggio di input quando viene selezionata la cella)
  6. Seleziona la scheda Messaggio di errore per personalizzare un titolo e un messaggio di errore in caso di inserimento di contenuto non coerente con la regola definita e scegliere uno Stile:
    • Interruzione: avvisa della presenza di una regola di convalida e blocca l’inserimento
    • Avviso: avvisa ma consente di scegliere se inserire il contenuto non rispondente alla regola
    • Informazione: avvisa e inserisce il contenuto anche se non rispondente
  7. Seleziona OK

È possibile far riferimento a valori scritti nelle celle del foglio di lavoro o di altri fogli: leggi cosa sono i Riferimenti relativi, misti e assoluti

Altre voci o pratiche Excel sulle regole di convalida

Esempi regole di convalida Excel

Aggirare le regole di convalida Excel

Questo è il tallone d’Achille della Convalida dati in Excel: purtroppo è infatti possibile inserire un valore che non dovrebbe essere invece accettato dal controllo imposto dalla convalida. Come?
Attraverso il Copia e Incolla o il Trascinamento.
In questo caso Excel, dalla scheda Dati, offre il comando Cerchia dati che evidenzia con un ovale rosso i dati non validi secondo i controlli impostati. Il cerchio scompare alla correzione del dato, o cliccando Rimuovi i cerchi presente nello stesso menu.

Per risolvere il problema del Copia e Incolla basta un piccolo codice VBA da inserire nel foglio dov'è presente la convalida dati. Immaginando che essa sia impostata sul range A1:A5, basterà scrivere:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("A1:A5")) Is Nothing Then
Application.CutCopyMode = False
End If
End Sub

Se si desidera bloccare il copia incolla su tutto il foglio:
Private Sub Workbook_Activate()
Application.CutCopyMode = False
Application.OnKey "^c", ""
Application.CellDragAndDrop = False
End Sub

Private Sub Workbook_Deactivate()
Application.CellDragAndDrop = True
Application.OnKey "^c"
Application.CutCopyMode = False
End Sub

Private Sub Workbook_WindowActivate(ByVal Wn As Window)
Application.CutCopyMode = False
Application.OnKey "^c", ""
Application.CellDragAndDrop = False
End Sub

Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
Application.CellDragAndDrop = True
Application.OnKey "^c"
Application.CutCopyMode = False
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.CutCopyMode = False
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Application.OnKey "^c", ""
Application.CellDragAndDrop = False
Application.CutCopyMode = False
End Sub

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Application.CutCopyMode = False
End Sub

Per disabilitare il trascinamento inserire il seguente codice sempre nel foglio dov'è presente la convalida dati:
Private Sub Worksheet_Activate()
Application.CellDragAndDrop = False
End Sub

Per riattivarlo basta cambiare False con True.
Se, dopo aver bloccato il trascinamento con il VBA, non riuscite più ad attivarlo anche in altri file, è sufficiente una semplice procedura.
Per attivare (o disattivare) il trascinamento in Excel:

  1. Cliccare la scheda File
  2. Cliccare la voce Opzioni
  3. Nella categoria Impostazioni Avanzate, in Opzioni di modifica, selezionare (o deselezionare) la casella di controllo Attiva quadratino di riempimento e trascinamento celle.

Rimuovere la convalida dati

Per rimuovere le regole di convalida dati:

  1. seleziona l’intervallo con i controlli da eliminare
  2. clicca l’icona Convalida dati
  3. clicca il Cancella tutto

Per saperne di più su Microsoft Excel potrebbero interessarti i video corsi Excel o questi libri:

Se vuoi approfondire alcuni dei temi trattati, visita la pagina con le mie pubblicazioni cartacee e online

Se l'articolo ti è piaciuto, condividilo!

Segui l'hashtag #AndreaPacchiarotti