Note: The other languages of the website are Google-translated. Back to English

Come eseguire il completamento automatico durante la digitazione nell'elenco a discesa di Excel?

Per un elenco a discesa di convalida dei dati con molti elementi, è necessario scorrere su e giù nell'elenco per trovare quello che ti serve o digitare correttamente l'intera parola nella casella di riepilogo. Esistono metodi per creare un elenco a discesa completato automaticamente quando si digita la prima lettera o eventuali caratteri relativi? Ciò aiuterà le persone a lavorare in modo più efficiente nei fogli di lavoro con elenchi a discesa nelle celle. Questo tutorial fornisce due metodi per aiutarti a raggiungerlo.

Completamento automatico durante la digitazione nell'elenco a discesa con codice VBA
Completamento automatico durante la digitazione nell'elenco a discesa con uno strumento straordinario

Altri tutorial per l'elenco a discesa ...


Completamento automatico durante la digitazione nell'elenco a discesa con codice VBA

Si prega di fare quanto segue per completare automaticamente un elenco a discesa dopo aver digitato le lettere corrispondenti nella cella.

Innanzitutto, è necessario inserire una casella combinata nel foglio di lavoro e modificarne le proprietà.

1. Aprire il foglio di lavoro che contiene la cella dell'elenco a discesa che si desidera completare automaticamente.

2. Prima di inserire una casella combinata, è necessario aggiungere la scheda Sviluppatore alla barra multifunzione di Excel. Se la scheda Sviluppatore è visualizzata sulla barra multifunzione, passare al passaggio 3. Altrimenti, procedere come segue: Fare clic su Compila il > Opzioni per aprire il Opzioni finestra. In questo Opzioni di Excel finestra, fare clic Personalizzazione barra multifunzione nel riquadro di sinistra, controlla il file Costruttori casella, quindi fare clic su OK pulsante. Vedi screenshot:

3. Clic Costruttori > inserire > Casella combinata (controllo ActiveX).

4. Disegna una casella combinata nel foglio di lavoro corrente. Fare clic con il pulsante destro del mouse e quindi selezionare Proprietà dal menu di scelta rapida.

5. Nel Proprietà finestra di dialogo, sostituire il testo originale nel file (Nome) campo con TempCombo.

6. Spegnere il Modalità di progettazione cliccando Costruttori > Modalità di progettazione.

Quindi, applica il codice VBA sottostante

7. Fare clic con il pulsante destro del mouse sulla scheda del foglio corrente e fare clic Visualizza codice dal menu contestuale. Vedi screenshot:

8. In apertura Microsoft Visual Basic, Applications Edition finestra, copia e incolla il codice VBA sottostante nella finestra del codice del foglio di lavoro.

Codice VBA: completamento automatico durante la digitazione nell'elenco a discesa

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Update by Extendoffice: 2020/01/16
    Dim xCombox As OLEObject
    Dim xStr As String
    Dim xWs As Worksheet
    Dim xArr
    
    Set xWs = Application.ActiveSheet
    On Error Resume Next
    Set xCombox = xWs.OLEObjects("TempCombo")
    With xCombox
        .ListFillRange = ""
        .LinkedCell = ""
        .Visible = False
    End With
    If Target.Validation.Type = 3 Then
        Target.Validation.InCellDropdown = False
        Cancel = True
        xStr = Target.Validation.Formula1
        xStr = Right(xStr, Len(xStr) - 1)
        If xStr = "" Then Exit Sub
        With xCombox
            .Visible = True
            .Left = Target.Left
            .Top = Target.Top
            .Width = Target.Width + 5
            .Height = Target.Height + 5
            .ListFillRange = xStr
            If .ListFillRange = "" Then
                xArr = Split(xStr, ",")
                Me.TempCombo.List = xArr
            End If
            .LinkedCell = Target.Address
        End With
        xCombox.Activate
        Me.TempCombo.DropDown
    End If
End Sub
Private Sub TempCombo_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    Select Case KeyCode
        Case 9
            Application.ActiveCell.Offset(0, 1).Activate
        Case 13
            Application.ActiveCell.Offset(1, 0).Activate
    End Select
End Sub

9. Stampa altro + Q contemporaneamente i tasti per chiudere il file Applicazioni Microsoft Visual Basic finestra.

D'ora in poi, quando si fa clic su una cella dell'elenco a discesa, l'elenco a discesa verrà richiesto automaticamente. Puoi iniziare a digitare la lettera per completare automaticamente l'elemento corrispondente nella cella selezionata. Vedi screenshot:

Nota: Questo codice non funziona per le celle unite.


Completamento automatico durante la digitazione nell'elenco a discesa con uno strumento straordinario

Poiché VBA è difficile da gestire per molti utenti di Excel, qui consigliamo il Elenco a discesa ricercabile caratteristica di Kutools for Excel per aiutarti a completare facilmente un elenco a discesa automaticamente quando digiti il ​​primo carattere.

Note:: prima di applicare la funzione, assicurati di aver creato elenchi a discesa nel foglio di lavoro. In questo caso, gli elenchi a discesa vengono inseriti in D3:D9.

1. Clic Kutools > Menu `A tendina > Elenco a discesa ricercabile > Impostazioni.

2. Nel spuntare Elenco a discesa ricercabile finestra di dialogo, è necessario effettuare le seguenti impostazioni.

2.1) nel Applica a sezione, specificare un intervallo o un foglio di lavoro in cui si desidera applicare la funzione di elenco a discesa ricercabile;
Tip: Dopo aver selezionato Ambito specificato pulsante di opzione, puoi scegliere Foglio di lavoro corrente, Cartella di lavoro corrente or Tutte le cartelle di lavoro dall'elenco a discesa in base alle proprie esigenze.
2.2) nel Opzioni sezione, scegli il file Corrisponde solo all'inizio della parola opzione o il Che tiene conto del maiuscolo o minuscolo opzione o entrambi;
Corrisponde solo all'inizio della parola: Seleziona questa opzione, vengono visualizzati solo gli elementi che iniziano con il carattere digitato e il primo elemento abbinato verrà completato automaticamente nella casella di riepilogo. Deseleziona questa opzione per visualizzare gli elementi che contengono il carattere digitato.
Che tiene conto del maiuscolo o minuscolo: selezionare questa opzione per eseguire la corrispondenza con distinzione tra maiuscole e minuscole con i caratteri di digitazione.
2.3) Fare clic OK.

3. Dopo aver terminato le impostazioni, è necessario abilitare la funzione facendo clic su Kutools > Menu `A tendina > Elenco a discesa ricercabile > Abilita elenco a discesa ricercabile.

Ora, quando fai clic sulla cella dell'elenco a discesa, viene visualizzata una casella di riepilogo con tutti gli elementi. Devi solo digitare un carattere nella casella di testo per visualizzare tutti gli elementi corrispondenti e utilizzare il Up or giù freccia per selezionare l'elemento che ti serve o lascia che il primo elemento corrispondente riempia automaticamente la casella di riepilogo, quindi premi il tasto Entra per completare automaticamente la cella dell'elenco a discesa con l'elemento corrispondente. Guarda la demo qui sotto.

Fare clic per saperne di più su questa funzione.

  Se desideri avere una prova gratuita (30 giorni) di questa utility, fare clic per scaricarlo, quindi andare ad applicare l'operazione secondo i passaggi precedenti.


Articoli correlati:

Come creare un elenco a discesa con più caselle di controllo in Excel?
Molti utenti di Excel tendono a creare un elenco a discesa con più caselle di controllo per selezionare più elementi dall'elenco alla volta. In realtà, non puoi creare un elenco con più caselle di controllo con la convalida dei dati. In questo tutorial, ti mostreremo due metodi per creare un elenco a discesa con più caselle di controllo in Excel. Questo tutorial fornisce il metodo per risolvere il problema.

Crea un elenco a discesa da un'altra cartella di lavoro in Excel
È abbastanza facile creare un elenco a discesa di convalida dei dati tra i fogli di lavoro all'interno di una cartella di lavoro. Ma se i dati dell'elenco necessari per la convalida dei dati si trovano in un'altra cartella di lavoro, cosa faresti? In questo tutorial imparerai come creare un elenco a discesa da un'altra cartella di lavoro in Excel in dettaglio.

Crea un elenco a discesa ricercabile in Excel
Per un elenco a discesa con numerosi valori, trovarne uno corretto non è un lavoro facile. In precedenza abbiamo introdotto un metodo di completamento automatico dell'elenco a discesa quando si immette la prima lettera nella casella a discesa. Oltre alla funzione di completamento automatico, è anche possibile rendere ricercabile l'elenco a discesa per migliorare l'efficienza lavorativa nel trovare i valori corretti nell'elenco a discesa. Per rendere ricercabile l'elenco a discesa, prova il metodo in questo tutorial.

Compilare automaticamente altre celle quando si selezionano i valori nell'elenco a discesa di Excel
Supponiamo che tu abbia creato un elenco a discesa basato sui valori nell'intervallo di celle B8: B14. Quando si seleziona un valore nell'elenco a discesa, si desidera che i valori corrispondenti nell'intervallo di celle C8: C14 vengano inseriti automaticamente in una cella selezionata. Per risolvere il problema, i metodi in questo tutorial ti faranno un favore.

Altri tutorial per l'elenco a discesa ...


I migliori strumenti per la produttività in ufficio

Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%

  • Riutilizzo: Inserisci rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Crittografa celle con password; Crea mailing list e invia email ...
  • Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Più di 300 potenti funzionalità. Supporta Office / Excel 2007-2019 e 365. Supporta tutte le lingue. Facile distribuzione nella tua azienda o organizzazione. Funzionalità complete Prova gratuita di 30 giorni. Garanzia di rimborso di 60 giorni.
scheda kte 201905

Scheda Office porta l'interfaccia a schede a Office e semplifica notevolmente il lavoro

  • 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 della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce centinaia di clic del mouse ogni giorno!
fondo officetab
Commenti (319)
Ancora nessuna valutazione. Puoi essere il primo a votare!
Questo commento è stato fatto dal moderatore sul sito
Ho provato e ha funzionato solo per 2 giorni nelle proprietà, mi sta dando un messaggio di errore dopo aver digitato TempCombo che è un nome ambiguo. Per favore aiuto
Jay
Questo commento è stato fatto dal moderatore sul sito
Ottima soluzione, grazie!
Yane
Questo commento è stato fatto dal moderatore sul sito
Ciao... Dopo aver aggiunto questa casella combinata, non riesco a copiare e incollare altri elementi nel foglio di lavoro. Mi permette di copiare per incollare è disattivato. Inoltre, c'è un modo per far funzionare la casella combinata nelle celle unite? Grazie
Namasta
Questo commento è stato fatto dal moderatore sul sito
Stesso problema di un altro utente: dopo aver aggiunto questa casella combinata, non riesco a copiare e incollare da una cella all'altra. La funzione di copia sembra funzionare, ma incolla, incolla speciale e CTRL+V no. Grazie.
Thomas
Questo commento è stato fatto dal moderatore sul sito
Ciao Thomas... hai mai trovato una soluzione a questo? Devo ancora trovarne uno.
NAMASTA
Questo commento è stato fatto dal moderatore sul sito
Nessuna vera risposta - torno solo a SVILUPPATORE e deseleziona la MODALITÀ PROGETTAZIONE quando devo copiare e incollare - ricordati di fare nuovamente clic su MODALITÀ PROGETTAZIONE quando hai finito; in caso contrario, la casella combinata non funzionerà correttamente quando si fa doppio clic su una cella.
Thomas
Questo commento è stato fatto dal moderatore sul sito
Sto proteggendo il foglio in modo che le formule non possano essere modificate e quando proteggo il foglio la funzionalità di riempimento automatico non funziona più. Hai una soluzione per questo?
Agrifoglio
Questo commento è stato fatto dal moderatore sul sito
hai trovato una soluzione per questo?
Sam
Questo commento è stato fatto dal moderatore sul sito
Come posso bloccare le celle?
Sam
Questo commento è stato fatto dal moderatore sul sito
Funziona bene.. Grazie.. Ho risparmiato molto tempo.. Un'altra dimensione. Con questo codice funziona bene in una colonna.. Quali modifiche dobbiamo apportare nel codice vba per garantire che questo codice funzioni in un'altra colonna anche nello stesso foglio ma con diversa origine di convalida dei dati
Jignesh
Questo commento è stato fatto dal moderatore sul sito
Grazie per l'immenso aiuto.. Molto tempo sarà risparmiato. Questo codice funziona solo per una convalida dei dati in una colonna nel foglio di lavoro.. Quali modifiche dobbiamo apportare al codice per funzionare con 2 convalida dei dati in 2 colonne separate con un'origine dati separata
Jignesh
Questo commento è stato fatto dal moderatore sul sito
Il mio set di dati/intervallo denominato utilizzato per il mio elenco a discesa deve trovarsi sullo stesso foglio affinché funzioni? Ricevo l'attivazione della casella combinata quando faccio doppio clic sul menu a discesa ma quando inizio a digitare non viene visualizzato nulla? Qualche idea su quale potrebbe essere il problema qui? Ho seguito tutti i passaggi precedenti. Grazie mille, Jared
Jared
Questo commento è stato fatto dal moderatore sul sito
Sono riuscito a far funzionare il codice, ma ho problemi a salvare il file, ricevo diversi messaggi di errore. una volta salvato e riaperto, la funzione di completamento automatico non funziona. Sto usando Excel 2007. Qualcuno può fornire assistenza su come salvare il file? molto aiuto su internet ma non capisco tutti i comandi. Grazie
don
Questo commento è stato fatto dal moderatore sul sito
No dove dice come aggiungere elementi nella casella a discesa.
Jonathan Horovitz
Questo commento è stato fatto dal moderatore sul sito
Jonathan, hai scoperto come si fa?
Zal
Questo commento è stato fatto dal moderatore sul sito
Grazie per l'utile soluzione :-)
Makos
Questo commento è stato fatto dal moderatore sul sito
Ho completato l'elenco a discesa di completamento automatico, tuttavia, non so come mostrare i valori dopo aver digitato il testo nell'elenco a discesa. Ad esempio, nella mia SCHEDA BANCA DATI, la colonna 1 è costituita dagli articoli e le colonne 2 e 3 sono costituiti dal costo dell'articolo. Digitando l'articolo nel mio elenco a discesa NELLA SCHEDA PRINCIPALE nella colonna 1, il costo degli articoli viene visualizzato nelle colonne 2 e 3. È possibile che si possa fare? Aiutami per favore
Dante
Questo commento è stato fatto dal moderatore sul sito
dov'è l'intervallo dell'elenco di origine per la convalida?
dddd
Questo commento è stato fatto dal moderatore sul sito
Non dimenticare di aggiungere l'intervallo di elementi per il menu a discesa nella proprietà ComboBox "ListFillRange"
Minhaj Ameen
Questo commento è stato fatto dal moderatore sul sito
Funziona molto bene per i menu a discesa usando ='intervallo' ma la funzionalità si interrompe non appena l'intervallo è il risultato di una formula es. =IF(A1>0,'intervallo','alternativa'). In grado di digitare un TempCombo non popolato
Mike
Questo commento è stato fatto dal moderatore sul sito
Ciao! Questo è fantastico. Ma come collego il mio elenco a tendina al Combobox??? per favore aiuto.
Zal
Questo commento è stato fatto dal moderatore sul sito
Ciao, ho un problema con questo, non riesco a vedere alcun valore nel menu a discesa. Qualcuno può dirmi come posso collegare il mio intervallo di dati con il menu a discesa? per mostrare suggerimenti. se puoi inviarmi un foglio di calcolo completo, sarebbe molto apprezzato. (La mia email è deshandsouza@gmail.com)
Desh
Questo commento è stato fatto dal moderatore sul sito
Ho una soluzione per quanto sopra! Ho appena perso l'elenco a discesa Convalida dati creato. ora funziona bene.
Desh
Questo commento è stato fatto dal moderatore sul sito
Woohoo! Ho seguito i passaggi in Completamento automatico durante la digitazione nell'elenco a discesa con il codice VBA e ho ottenuto esattamente quello che volevo succedesse! Grazie! Grazie!
Jennifer
Questo commento è stato fatto dal moderatore sul sito
Bene... ha funzionato per una cella ma quando ho provato a farlo funzionare per l'intera colonna non potevo :( Quello che ho è Col A=Nome oggetto Col B= Data di creazione Col C= Voglio entrare nella categoria ma ho un elenco a discesa tra cui scegliere Ho 723 "Elementi" quindi 723 righe in cui voglio che appaia l'elenco a discesa mentre inserisco i valori. Qualche suggerimento? Grazie in anticipo
Jennifer
Questo commento è stato fatto dal moderatore sul sito
ma, come si crea un elenco a discesa dai dati ...
raj
Non ci sono ancora commenti pubblicati qui
Carica Altre
Lasciate i vostri commenti
Pubblicazione come ospite
×
Valuta questo post:
0  Personaggi
Posizioni suggerite