Sommario
Se siete alla ricerca di modi per autopopolare l'elenco a discesa in Excel In questo articolo vi mostreremo come creare un elenco a discesa ad aggiornamento automatico in Excel per facilitarvi il compito, in quanto non dovrete aggiornare manualmente l'elenco a discesa dopo aver modificato un valore nell'intervallo di dati principale. Entriamo quindi nel vivo dell'articolo.
Scarica il quaderno di esercizi
Aggiornamento automatico-elenco a discesa.xlsx3 modi per aggiornare automaticamente un elenco a discesa in Excel
Qui abbiamo un elenco di tipi di pagamento per i quali vogliamo creare un elenco a discesa. Ma per inserire altri tipi di pagamento vogliamo aggiornare automaticamente il nostro elenco a discesa seguendo la seguente procedura 3 metodi.
Per creare questo articolo, abbiamo utilizzato Microsoft Excel 365 versione Tuttavia, è possibile utilizzare qualsiasi altra versione a proprio piacimento.
Metodo 1: utilizzo delle funzioni OFFSET e COUNTA per l'aggiornamento automatico dell'elenco a discesa in Excel
In questa sezione, utilizzeremo la combinazione dei metodi di OFFSET e CONTE funzioni per aggiornare automaticamente l'elenco a discesa dei tipi di pagamento.
Passi :
In primo luogo, vedremo l'effetto della creazione di un elenco a discesa normale.
- Selezionare la cella D5 e poi andare alla sezione Dati scheda Convalida dei dati gruppo Convalida dei dati .
Poi, il Convalida dei dati si aprirà la procedura guidata.
- Selezionare Elenco da diverse opzioni sotto Consentire e scegliere l'intervallo nel campo Fonte .
=$B$5:$B$10
È la gamma di opzioni di pagamento.
- Stampa OK .
Si otterrà quindi un elenco a discesa e se si aggiunge un'altra riga per un'altra opzione di pagamento; Bitcoin Si può notare che l'elenco a discesa non viene aggiornato automaticamente, per cui l'opzione appena creata non è inclusa nell'elenco.
Per risolvere questo problema, creeremo il nostro elenco nel modo seguente.
- Dopo aver aperto il Convalida dei dati selezionare la finestra di dialogo Elenco da diverse opzioni sotto Consentire e digitare la seguente formula nel campo Fonte scatola.
=OFFSET($B$5,0,0, COUNTA(B: B)-1)
Qui, $B$5 è la cella iniziale dell'intervallo, la seguente 2 Gli zeri indicano che il riferimento alla cella non si sposterà di alcun numero di riga o di colonna. Infine, CONTA(B: B)-1 indica il numero di altezza dell'intervallo, che sarà il numero di righe con testi o numeri.
- Stampa OK .
Quindi, dopo aver inserito la formula di convalida dei dati, abbiamo ottenuto il seguente elenco a discesa.
Se aggiungiamo un'altra opzione di pagamento denominata Bitcoin , questa opzione verrà automaticamente aggiunta al nostro elenco.
Per saperne di più: Come utilizzare l'istruzione IF per creare un elenco a discesa in Excel
Metodo-2: Definizione del nome di un intervallo e creazione di una tabella per l'aggiornamento automatico dell'elenco a discesa
Esiste un altro modo per creare un elenco a discesa ad aggiornamento automatico in Excel, definendo il nome e utilizzando un'opzione tavolo Vedremo questo processo utilizzando lo stesso esempio precedente.
Passi :
- Vai al sito Formule scheda Definire il nome gruppo Definire il nome .
Successivamente, si otterrà il Nuovo nome mago.
- Inserite un nome nel campo " Nome "Qui inseriremo " Tipi_di_pagamento " e selezionare il nostro intervallo di pagamento nel campo Si riferisce a .
- Fare clic su OK .
Ora è il momento di creare una tabella.
- Vai al sito Inserire scheda Tabella .
In questo modo, sarete portati alla schermata Crea tabella finestra di dialogo.
- Selezionare l'intervallo di dati e controllare l'opzione La mia tabella ha intestazioni opzione.
- Stampa OK .
In questo modo, abbiamo creato la seguente tabella.
- Ora, selezionare la cella D5 (dove vogliamo il nostro elenco a discesa) e poi andare alla voce Dati scheda Convalida dei dati gruppo Convalida dei dati .
Poi, il Convalida dei dati si aprirà la procedura guidata.
- Selezionare Elenco da diverse opzioni sotto Consentire e digitare l'intervallo nominato nel campo Fonte scatola.
=Tipi_di_pagamento
È la gamma di opzioni di pagamento.
- Stampa OK .
Quindi, dopo aver inserito la formula di convalida dei dati, abbiamo ottenuto il seguente elenco a discesa.
Se aggiungiamo un'altra opzione di pagamento denominata Bitcoin , questa opzione verrà automaticamente aggiunta al nostro elenco.
Per saperne di più: Come creare un elenco a discesa dinamico dipendente in Excel
Metodo 3: applicare la funzione INDIRETTO di Excel a una tabella per aggiornare automaticamente un elenco a discesa
Nell'ultimo metodo, invece di usare l'intervallo nominato nell'origine di convalida dei dati, si può usare anche il metodo la funzione INDIRETTO nella casella Sorgente e fare riferimento al file Nome della tabella In questa sezione, mostreremo come si può fare la stessa cosa di Metodo 2 utilizzando un'altra funzione.
Passi :
Per prima cosa, abbiamo convertito il nostro intervallo di dati in una tabella, il cui nome è Tabella3 .
- Ora, aprite il file Convalida dei dati per aggiungere un elenco a discesa nella cella D5 .
- Selezionare Elenco da diverse opzioni sotto Consentire e digitare la seguente formula nel campo Fonte .
=INDIRETTO("Tabella3")
Tabella3 è la gamma di opzioni di pagamento.
- Stampa OK .
Quindi, dopo aver inserito la formula di convalida dei dati, abbiamo ottenuto il seguente elenco a discesa.
Se aggiungiamo un'altra opzione di pagamento denominata Bitcoin , questa opzione verrà automaticamente aggiunta al nostro elenco.
Come popolare automaticamente un elenco a discesa in Excel
Con l'aiuto di un VBA il codice, si autopopolano i testi da un elenco a discesa nella cella D5 .
Passo-01 Creare un elenco a discesa e una casella combinata
Per prima cosa, creeremo un semplice elenco a discesa nella cella D5 .
- Selezionare la cella D5 e poi andare alla sezione Dati scheda Convalida dei dati gruppo Convalida dei dati .
Poi, il Convalida dei dati si aprirà la procedura guidata.
- Selezionare Elenco da diverse opzioni sotto Consentire e scegliere l'intervallo nel campo Fonte .
=$B$5:$B$10
È la gamma di opzioni di pagamento.
- Stampa OK .
Abbiamo quindi creato con successo l'elenco a discesa.
Ora inseriamo una casella combinata.
- Vai al sito Sviluppatore scheda Inserire a tendina Casella combinata (controllo ActiveX) .
Quindi, un più apparirà il simbolo di un'icona.
- Trascinare verso il basso e a destra il più simbolo.
- Abbiamo creato un casella combinata annotare il suo nome per utilizzarlo nel codice (il nome dell'elemento casella combinata è ComboBox1 ).
- Vai al sito Sviluppatore scheda Modalità di progettazione per disattivare il Modalità di progettazione .
Passo-02 Scrivere codice VBA
Ora è il momento di inserire il nostro codice.
- Cliccare con il tasto destro del mouse sul nome del foglio e fare clic su Codice .
In questo modo, il Editor Visual Basic si aprirà la finestra per inserire il nostro codice.
- Digitare il seguente codice in VBE
Sub Worksheet_SelectionChange(ByVal P_val As Range) Dim DList_box As OLEObject Dim Ptype As String Dim Dsht As Worksheet Dim P_List As Variant Set Dsht = Application.ActiveSheet On Error Resume Next Set DList_box = Dsht.OLEObjects("ComboBox1") DList_box.ListFillRange = "" DList_box.LinkedCell = "" DList_box.Visible = False If P_val.Validation.Type = 3 Then P_val.Validation.InCellDropdown = FalseCancel = True Ptype = P_val.Validation.Formula1 Ptype = Right(Ptype, Len(Ptype) - 1) If Ptype = "" Then Exit Sub DList_box.Visible = True DList_box.Right = P_val.Right DList_box.Bottom = P_val.Bottom DList_box.Width = P_val.Width + 90 DList_box.Height = P_val.Height + 10 DList_box.ListFillRange = Ptype If DList_box.ListFillRange = "" Then P_List = Split(Ptype, ",") Me.ComboBox1.List = P_List EndSe DList_box.LinkedCell = P_val.Address DList_box.Activate Me.ComboBox1.DropDown End If End Sub
Ripartizione del codice
- Abbiamo scelto il procedura secondaria nome come Worksheet_SelectionChange , perché Foglio di lavoro indica il foglio e SelezioneCambiamento sta indicando l'evento che eseguirà il codice. E abbiamo classificato P_val come Gamma .
- Dopo di che, abbiamo dichiarato DList_box come Oggetto OLE , Tipo P come Stringa , Dsht come Foglio di lavoro , e Elenco P come Variante .
- Poi abbiamo assegnato il foglio attivo a Dsht e la casella combinata denominata ComboBox1 a DList_box .
- Il valore di tipo di convalida dei dati è selezionato come 3 che indica il a discesa
- Il Tipo P memorizzerà la formula utilizzata per la convalida dei dati nel foglio attivo.
- Poi, abbiamo fissato la posizione del casella di riepilogo a discesa e ha menzionato anche le dimensioni.
Passo-03 : Ottenere il risultato durante la digitazione
Ora testiamo il nostro codice.
- Ora, tornate al foglio di lavoro principale e fate clic sulla cella D5 dove abbiamo creato il nostro elenco a discesa .
- Iniziare a digitare C per Contanti , si noterà che il Contanti è già apparso nella cella D5 .
- A questo punto, basta posizionare il cursore in un altro punto e la casella combinata scomparirà di nuovo.
Come modificare un elenco a discesa basato su Excel
È possibile modificare facilmente l'intervallo in base al quale è stato creato un elenco a discesa.
Ad esempio, in questo caso abbiamo selezionato l'intero intervallo di valori dell'elemento Tipi di pagamento per includere tutte le opzioni dell'elenco, ma ora vogliamo che solo le ultime tre siano presenti nell'elenco, quindi dobbiamo modificarlo.
Passi :
- Selezionare la cella D5 e poi andare alla sezione Dati scheda Convalida dei dati gruppo Convalida dei dati .
Ora, il Convalida dei dati si aprirà una finestra di dialogo.
- Qui, possiamo vedere il seguente intervallo nel file Fonte box.
=$B$5:$B$10
- L'abbiamo modificato nel seguente intervallo.
=$B$8:$B$10
- Stampa OK .
Infine, abbiamo completato la modifica dell'elenco delle opzioni.
Sezione pratica
Per esercitarsi da soli, abbiamo creato un Pratica sul lato destro di ogni foglio.
Conclusione
In questo articolo abbiamo discusso diversi modi per aggiornare automaticamente un elenco a discesa in Excel Se avete altre domande, lasciate un commento qui sotto.