Come fare per visualizzare il primo elemento dell’elenco a discesa anziché una casella vuota?
Gli Elenco a discesa nei fogli di lavoro di Excel sono una funzionalità pratica per semplificare e standardizzare l'inserimento dei dati: gli utenti possono semplicemente selezionare tra opzioni predefinite anziché digitare singolarmente i valori. Tuttavia, a volte potresti trovarti in una situazione in cui, al clic su una cella con elenco a discesa, la selezione iniziale appare vuota anziché mostrare il primo elemento effettivo. Questo problema si verifica spesso se l'elenco Dati di origine è stato modificato e sono rimaste delle Righe vuote alla fine, oppure se sono stati eliminati elementi vicino alla fine, causando alla convalida dati di includere caselle vuote non volute all'inizio dell'elenco. Soprattutto con elenchi lunghi, dover scorrere continuamente oltre voci vuote per raggiungere il primo elemento valido può risultare inefficiente e frustrante.

Risolvere questo problema non solo rende l’esperienza utente più comoda, ma aiuta anche a prevenire la selezione accidentale di valori vuoti, che potrebbero compromettere le successive operazioni di elaborazione o reporting. In questo articolo scoprirai metodi pratici per assicurarti che il primo elemento del tuo elenco a discesa compaia sempre in cima, eliminando quelle voci vuote superflue.
Utilizzo di una tabella Excel come Intervallo di origine
Mostra il primo elemento nell'elenco a discesa invece di una casella vuota con la funzione Convalida dati
Un modo efficace per evitare voci vuote all'inizio del tuo Elenco a discesa consiste nel configurare la Convalida dati utilizzando una formula che determini dinamicamente l'intervallo corretto. Questo approccio garantisce che siano inclusi soltanto i dati effettivamente presenti nell'elenco di origine, indipendentemente da eventuali righe vuote causate dall'eliminazione di dati alla fine. Questa soluzione è particolarmente adatta agli utenti che modificano frequentemente l'elenco di origine o che desiderano un aggiustamento semplice basato su formule, senza dover ricorrere alle macro.
1. Seleziona le celle in cui desideri creare l’elenco a discesa. Quindi, vai alla barra multifunzione di Excel e fai clic su Dati > Convalida dati > Convalida dati. Si aprirà la finestra di dialogo Convalida dati, come mostrato di seguito:

2. Nella scheda Impostazioni della finestra di dialogo Convalida dati, imposta Consenti su Elenco. Nella casella Origine, inserisci questa formula per fare riferimento dinamicamente solo all'intervallo contenente dati effettivi:
=OFFSET(Sheet3!$A$1;0;0;COUNTA(Sheet3!$A:$A)-1;1)
Nota: In questa formula, Sheet3 indica il foglio in cui si trovano i tuoi dati di origine, mentre A1 è la cella iniziale del tuo elenco. Modifica questi riferimenti in base alla struttura specifica del tuo foglio di lavoro. L’utilizzo di COUNTA garantisce che vengano inclusi solo i valori non vuoti a partire da A1. Se il tuo elenco di origine contiene deliberatamente delle righe vuote al suo interno (non solo alla fine), questo metodo potrebbe non escluderle completamente; per ottenere i migliori risultati, mantieni l’elenco di origine contiguo.

3. Fai clic su OK per applicare le impostazioni. Ora, quando fai clic su una qualsiasi delle celle con l’elenco a discesa configurato, l’elenco mostrerà in cima il primo elemento effettivo. Questo comportamento rimane valido anche se i dati di origine cambiano, purché l’intervallo copra tutti gli elementi nella colonna A e non vi siano celle vuote all’interno del blocco principale di dati. Ecco il risultato ottenuto:

Suggerimento: Se in futuro dovrai ampliare o ridurre il tuo elenco di origine, non sarà necessario aggiornare le impostazioni di convalida dati: la formula si adatterà automaticamente, a patto che non vi siano celle vuote all’inizio dell’intervallo. Tuttavia, tieni presente che, se è presente una cella vuota all’interno dell’elenco (non soltanto alla fine), verrà ignorata nel conteggio ma potrebbe generare spazi vuoti indesiderati nell’elenco a discesa.
Problema potenziale: Se il tuo intervallo di origine contiene deliberatamente celle vuote oppure include dati uniti o non contigui, valuta l’uso di una tabella Excel come intervallo di origine oppure consulta il metodo VBA riportato di seguito per una gestione più flessibile.
Mostra automaticamente il primo elemento nell'elenco a discesa invece di una casella vuota con codice VBA
In alcuni scenari, modificare esclusivamente l’origine della convalida dati non basta—ad esempio, quando i tuoi dati cambiano spesso o quando, per motivi strutturali, nell’intervallo di origine potrebbero comparire celle vuote. Con una semplice macro VBA, puoi fare in modo che ogni volta che si attiva una cella con convalida dati, l’elenco a discesa selezioni e visualizzi automaticamente il primo elemento disponibile, accelerando così l’inserimento dei dati e riducendo al minimo i clic necessari.
1. Dopo aver inserito il tuo elenco a discesa, fai clic con il pulsante destro del mouse sulla scheda del foglio che lo contiene e scegli Visualizza codice dal menu contestuale. Si aprirà l'editor di Microsoft Visual Basic for Applications. Incolla il seguente codice nella finestra del modulo del foglio di lavoro corrispondente (non in un modulo standard). Questo codice funzionerà in background e reimposterà automaticamente l'elenco a discesa ogni volta che selezioni una cella con la convalida:
Codice VBA: Mostra automaticamente il primo elemento dati nell'elenco a discesa:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Updateby Extendoffice 20160725
Dim xFormula As String
On Error GoTo Out:
xFormula = Target.Cells(1).Validation.Formula1
If Left(xFormula, 1) = "=" Then
Target.Cells(1) = Range(Mid(xFormula, 1)).Cells(1).Value
End If
Out:
End Sub

2. Dopo aver incollato il codice, salva la cartella di lavoro (preferibilmente come file abilitato alle macro con estensione .xlsm) e chiudi la finestra dell'editor VBA. Torna ora al tuo foglio e prova a fare clic su qualsiasi cella con l’elenco a discesa: non appena la cella viene attivata, il primo elemento del tuo elenco a discesa verrà visualizzato automaticamente.
Suggerimenti e considerazioni: Questo approccio VBA è perfetto per offrire un’esperienza fluida agli utenti, soprattutto con elenchi di origine dinamici, lunghi o che potrebbero includere inevitabilmente voci vuote. Ricorda di abilitare le macro perché la funzione funzioni correttamente e avvisa gli altri utenti della cartella di lavoro, poiché alcuni ambienti ne limitano l’uso per motivi di sicurezza.
Risoluzione problemi: Se il codice non sembra funzionare, verifica attentamente che sia stato inserito nella finestra corretta del foglio di lavoro nell’editor VBA. Assicurati inoltre che l’elenco a discesa utilizzi un elenco standard di convalida dati.
Limitazione: La soluzione VBA si attiva solo quando l'utente seleziona la cella contenente l'elenco a discesa; non funziona se la cella viene popolata in altri modi (ad esempio tramite risultati di formule o incollando dati). Se rimuovi l'elenco a discesa dalla cella o sposti la cella in un altro foglio privo del codice VBA, perderai il comportamento di selezione automatica.
Utilizzo di una tabella Excel come Intervallo di origine
Se il tuo elenco di origine per l’elenco a discesa è dinamico e desideri una gestione più semplice, valuta la possibilità di convertirlo in una tabella Excel. Le tabelle si adattano automaticamente alle dimensioni dei dati, espandendosi o restringendosi quando vengono aggiunti o rimossi elementi, garantendo così un elenco sempre aggiornato. Tuttavia, tieni presente che una tabella Excel non esclude automaticamente le celle vuote: eventuali voci vuote presenti nella tabella compariranno comunque nell’elenco a discesa, a meno che non vengano esplicitamente filtrate (ad esempio, tramite la funzione FILTRO disponibile in Excel 365 e Excel 2021).
1. Seleziona i tuoi dati di origine e premi Ctrl + T per convertirli in una tabella. Assicurati che non ci siano celle vuote all'inizio. Assegna un nome significativo alla tabella, ad esempio IlMioElenco (utilizzando la scheda Progettazione tabella).
2. Quando configuri la convalida dati, utilizza il riferimento strutturato alla colonna della tua tabella. Nella casella Origine della Convalida dati, digita:
=INDIRECT("MyList[Column1]") Sostituisci Colonna1 con il nome effettivo della tua colonna (l’intestazione della colonna). Questo metodo include dinamicamente tutti gli elementi inseriti nella colonna della tabella, preservando l’integrità dell’elenco ogni volta che aggiorni i dati.
Questo approccio è particolarmente adatto agli ambienti in cui i dati di origine vengono aggiornati regolarmente e diversi utenti devono gestire in modo efficiente l’elenco convalidato.
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