Suggerimento: le altre lingue sono tradotte da Google. Puoi visitare il English versione di questo link.
Log In
x
or
x
x
Registrati
x

or

Come eseguire il completamento automatico quando si digita nell'elenco a discesa Excel?

Se si dispone di un elenco a discesa di convalida dei dati con valori grandi, è necessario scorrere verso il basso nell'elenco solo per trovare quello corretto oppure digitare direttamente l'intera parola nella casella di riepilogo. Se esiste un metodo per consentire il completamento automatico quando si digita la prima lettera nell'elenco a discesa, tutto diventerà più semplice. In questo tutorial, ti forniremo l'inserimento di una casella combinata nel foglio di lavoro e l'esecuzione del codice VBA insieme per ottenere la funzione di completamento automatico nell'elenco a discesa.

Completamento automatico quando si digita nell'elenco a discesa con codice VBA


Combina più fogli di lavoro / cartelle di lavoro in un foglio di lavoro / cartella di lavoro:

Combinare più fogli di lavoro o cartelle di lavoro in un unico foglio di lavoro o cartella di lavoro può essere un compito enorme nel tuo lavoro quotidiano. Ma se lo hai Kutools for Excel, la sua potente utilità - Combinare può aiutarti a combinare rapidamente più fogli di lavoro, cartelle di lavoro in un foglio di lavoro o in una cartella di lavoro. Scarica ora la traccia completa di Xutox-day di Kutools per Excel!

Kutools for Excel: con più di 200 pratici componenti aggiuntivi di Excel, liberi di provare senza limitazioni nei giorni 60. Scarica la versione di prova gratuita ora!


Completamento automatico quando si digita nell'elenco a discesa con codice VBA

Innanzitutto è necessario inserire una casella combinata nel foglio di lavoro e modificarne le proprietà, quindi eseguire il codice VBA per abilitare il completamento automatico.

1. Entra nel foglio di lavoro che contiene l'elenco a discesa che desideri venga completato automaticamente.

2. Prima di inserire la casella combinata, è necessario abilitare il Sviluppatore scheda nel nastro.

1). In Excel 2010 e 2013, fare clic su filetto > Opzioni. E nella Opzioni finestra di dialogo, fare clic Personalizzazione barra multifunzione nel pannello di destra, controlla il Sviluppatore casella, quindi fare clic su OK pulsante. Vedi screenshot:

2). In Outlook 2007, fare clic su Office pulsante> Opzioni di Excel. Nel Opzioni di Excel finestra di dialogo, fare clic Popolare nella barra destra, quindi controllare il Mostra la scheda Sviluppatorenel nastro casella e infine fare clic su OK pulsante.

3. Quindi fare clic Sviluppatore > inserire > Casella combinata per Controlli ActiveX. Vedi screenshot:

4. Disegna la casella combinata nel foglio di lavoro aperto corrente e fai clic con il pulsante destro del mouse. Selezionare Proprietà nel menu di scelta rapida.

5. Nel Proprietà finestra di dialogo, è necessario:

1). Cambia il nome in TempCombo per Nome campo;

2). Specifica il tipo di carattere che ti serve in fonte campo;

3). Scorri verso il basso per selezionare 1-fmMatchEntryComplete per MatchEntry campo;

4). Chiudi il Proprietà la finestra di dialogo.

6. Disattiva la modalità di progettazione con un clic Sviluppatore > Modalità di progettazione.

7. Fare clic con il tasto destro sulla scheda del foglio di lavoro aperto e fare clic Visualizza codice. Vedi screenshot:

8. Assicurarsi che sia aperto l'editor del codice del foglio di lavoro corrente, quindi copiare e incollare il codice VBA sottostante. Vedi screenshot:

Codice VBA: completamento automatico quando si digita nell'elenco a discesa

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Update by Extendoffice: 2018/9/21
    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. Clic filetto > Chiudi e torna a Microsoft Excel chiudere il Microsoft Visual Basic per applicazione finestra.

10. Ora, basta fare clic sulla cella con l'elenco a discesa, è possibile visualizzare l'elenco a discesa viene visualizzato come una casella combinata, quindi digitare la prima lettera nella casella, la parola corrispondente verrà completata automaticamente. Vedi screenshot:

Note: Questo codice VBA non è applicato alle celle unite.

Office Tab - Navigazione a schede, modifica e gestione delle cartelle di lavoro in Excel:

Office Tab offre un'interfaccia a schede come mostrato nei browser Web come Google Chrome, le nuove versioni di Internet Explorer e Firefox in Microsoft Excel. esso volere essere uno strumento che fa risparmiare tempo e che è irrealizzabile nel tuo lavoro. Vedi sotto demo:

Clicca per la prova gratuita di Office Tab!

Scheda Office per Excel

Articoli correlati:



Strumenti di produttività consigliati

Office Tab

stella d'oro1 Porta pratiche schede ad Excel e ad altri software Office, proprio come Chrome, Firefox e il nuovo Internet Explorer.

Kutools for Excel

stella d'oro1 Stupefacente! Aumenta la tua produttività in 5 minuti. Non servono abilità speciali, risparmiate due ore al giorno!

stella d'oro1 300 Nuove funzionalità per Excel, rendono Excel molto semplice e potente:

  • Unisci cella / righe / colonne senza perdere dati.
  • Combina e consolida più fogli e cartelle di lavoro.
  • Confronta intervalli, copia intervalli multipli, conversione testo in data, unità e conversione valuta.
  • Contare in base a colori, totali parziali cercapersone, ordinamento avanzato e filtro super,
  • Altro Seleziona / Inserisci / Elimina / Testo / Formato / Link / Commento / Cartelle di lavoro / Fogli di lavoro Strumenti ...

Schermata di Kutools per Excel

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Leonardo Ramos · 7 months ago
    Existe una forma para los formularios en word? Te lo agradecería muchísimo.
  • To post as a guest, your comment is unpublished.
    Harshit · 7 months ago
    How to skip blanks
    • To post as a guest, your comment is unpublished.
      crystal · 6 months ago
      Hi Harshit,
      All blanks need to be excluded while creating the drop down list.
      • To post as a guest, your comment is unpublished.
        gk · 5 months ago
        how do i change the source data for the list please?
  • To post as a guest, your comment is unpublished.
    James Trogdon · 7 months ago
    Thanks for this great code. I do have a question about if it would be possible to change the color of the linked cell if the person chooses a value from the list or if they type one of their own? For example, if I choose a value from the list the linked cell would show green text when I left the cell. If I typed my own value, then the linked cell would show red indicating I didn't choose one of the values from the list. Is this possible?
  • To post as a guest, your comment is unpublished.
    Deepak John Fernandes · 7 months ago
    Thanks for the wonderful code.
    I have a question.
    My cells in excel are of the nature x4x - y4y. The answers from the drop down are filtered only for the words matching the first half or starting with the alphabet xx but if i search for y4y, it will not show in the results.
    Is there a way to include the second half in the search as well?
    Also
    How can i modify the code so that the results shows all the alphabets from the search menu?
    Ex: If am searching for the word "example", but i input "ample", I would like to have the word "example" shown in the list as it contains the part of the search request.
  • To post as a guest, your comment is unpublished.
    lluis · 7 months ago
    thanks for the code, but it only works for me in the first list, I have some inderect lists after the first that don't show any value. Is there any solution? Thanks in advance. ;)