I cookie ci aiutano i nostri servizi. Utilizzando i nostri servizi, l'utente accetta di utilizzare i cookie.
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.
    Stacey · 1 years ago
    Code worked great! However, I'd like to copy the ComboBox in several cells. I did so, and every time I select something from the dropdown - it changes ALL of the other combo boxes to the same selection!? How do I remedy that?
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      Dear Stacey,
      If you want to copy the ComboBox in several cells, please insert Data Validation drop-down lists into current worksheet one by one with content you need after finish the above steps.
      Then the new inserted drop-down lists will be changed to ComboBoxes automatically when selecting. And selections in different drop-down lists will be individual.
      Thank you for your comment!
  • To post as a guest, your comment is unpublished.
    Boy · 1 years ago
    Can assist on this please? All of column has combobox now where I intend my worksheet to only have 2 columns.
    Also how can I make this code works for the entire workbook and not only for one worksheet?
    Please help.
  • To post as a guest, your comment is unpublished.
    Vikas · 1 years ago
    Hello, thank you so much for this... But how can we run this on protected sheet also i don't want every cell work as combo box on double click...... Pl. Help
  • To post as a guest, your comment is unpublished.
    John P · 1 years ago
    Is there an easy/efficient way to handle it if you have to do lookups from different/dynamic sources?

    Right now, I have a workbook for recording stats for a dart league with one page per match. Each page has the home and away teams and I use data validation/list to create drop-downs. I'm wondering if it is possible to do lookups that use named ranges (the team names/Away/Home). I'm using Excel 2016; you'd think by now that this would be incorporated into the product.
  • To post as a guest, your comment is unpublished.
    Sandra · 1 years ago
    I also need the solution for limiting the combo box to only one column of the worksheet.
    Thank you. :-)