Tip: andere talen zijn Google-Vertaald. Je kunt het English versie van deze link.
Log in
x
or
x
x
Registreren
x

or

Hoe autocomplete bij het typen in Excel drop-down lijst?

Als u een vervolgkeuzelijst voor gegevensvalidatie met grote waarden hebt, moet u in de lijst bladeren om de juiste te vinden, of u kunt het hele woord rechtstreeks in de keuzelijst typen. Als er een methode is om automatisch te voltooien bij het typen van de eerste letter in de vervolgkeuzelijst, wordt alles eenvoudiger. In deze tutorial zullen we u voorzien van het invoegen van de keuzelijst met invoervak ​​in het werkblad en samen VBA-code uitvoeren voor het bereiken van de functie voor automatisch aanvullen in de vervolgkeuzelijst.

In de vervolgkeuzelijst met VBA-code


Combineer meerdere werkbladen / werkmappen in één werkblad / werkmap:

Combineer meerdere werkbladen of werkmappen in een enkel werkblad of werkmap kan een enorme taak zijn in uw dagelijkse werk. Maar als je dat hebt gedaan Kutools for Excel, zijn krachtige nut - Combineren kan u helpen snel meerdere werkbladen, werkmappen te combineren tot één werkblad of werkmap. Download nu het volledige gratis 60-dag-spoor van Kutools voor Excel nu!

Kutools for Excel: met meer dan 200 handige Excel-add-ins, gratis om zonder beperking in 60-dagen te proberen. Download de gratis proefversie nu!


In de vervolgkeuzelijst met VBA-code

Eerst moet u een keuzelijst invoegen in het werkblad en de eigenschappen ervan wijzigen en vervolgens de VBA-code uitvoeren om automatisch aanvullen in te schakelen.

1. Ga naar het werkblad met de vervolgkeuzelijst waarvan u wilt dat deze automatisch wordt aangevuld.

2. Voordat u de keuzelijst met invoervak ​​invoegt, moet u de ontwikkelaar tab in het lint.

1). Klik in Excel 2010 en 2013 op filet > opties. En in de opties dialoogvenster, klik Lint aanpassen in het rechterdeelvenster, controleer de ontwikkelaar vak en klik vervolgens op de OK knop. Zie screenshot:

2). Klik in Outlook 2007 op Kantoor knop> Excel-opties. In de Excel-opties dialoogvenster, klik populair in de rechter balk, controleer dan de Ontwikkelaarstab weergevenin het lint in en klik ten slotte op OK knop.

3. Dan klikken ontwikkelaar > bijvoegsel > Keuzelijst met invoervak voor ActiveX-besturingselementen. Zie screenshot:

4. Teken de keuzelijst met invoervak ​​in het geopende werkblad en klik er met de rechtermuisknop op. kiezen WONINGAANBOD in het rechtsklikmenu.

5. In de WONINGAANBOD dialoogvenster, moet u:

1). Verander de naam in TempCombo in de Naam veld;

2). Specificeer het lettertype dat u nodig hebt in de doopvont veld;

3). Scroll naar beneden om te selecteren 1-fmMatchEntryComplete in de MatchEntry veld;

4). Sluit de WONINGAANBOD dialoog venster.

6. Schakel de ontwerpmodus uit met klikken ontwikkelaar > Ontwerpmodus.

7. Klik met de rechtermuisknop op het geopende werkbladtabblad en klik op Bekijk code. Zie screenshot:

8. Zorg ervoor dat de huidige werkbladcode-editor wordt geopend en kopieer en plak de onderstaande VBA-code erin. Zie screenshot:

VBA-code: automatisch aanvullen tijdens het typen in de vervolgkeuzelijst

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. klikken filet > Sluiten en terugkeren naar Microsoft Excel om de te sluiten Microsoft Visual Basic voor toepassing venster.

10. Klik nu op de cel met de vervolgkeuzelijst, u ziet dat de vervolgkeuzelijst wordt weergegeven als een keuzelijst met invoervak ​​en typ vervolgens de eerste letter in het vak, het bijbehorende woord wordt automatisch ingevuld. Zie screenshot:

Notes: Deze VBA-code wordt niet toegepast op samengevoegde cellen.

Office Tab - Browsen met tabbladen, bewerken en beheren van werkmappen in Excel:

Office-tabblad brengt de interface met tabbladen zoals te zien in webbrowsers zoals Google Chrome, nieuwe versies van Internet Explorer en Firefox naar Microsoft Excel. Het wil een tijdbesparend hulpmiddel zijn en onherroepelijk in je werk. Zie onderstaande demo:

Klik voor gratis proefversie van Office Tab!

Office-tabblad voor Excel

Gerelateerde artikelen:



Aanbevolen productiviteitstools voor Excel

Kutools voor Excel helpt u altijd om uw werk voor de tijd af te maken en uzelf te onderscheiden van een menigte

  • Meer dan 300 krachtige geavanceerde functies, ontworpen voor 1500-werkscenario's, verhoging van de productiviteit met 70%, geeft u meer tijd om voor uw gezin te zorgen en van het leven te genieten.
  • U hoeft niet langer formules en VBA-codes te onthouden, maar uw hersenen rust vanaf nu.
  • Word een Excel-expert in 3 minuten, gecompliceerde en herhaalde bewerkingen kunnen in seconden worden uitgevoerd,
  • Verminder dagelijks duizenden toetsenbord- en muisbewerkingen, zeg nu tot ziens tegen beroepsziekten.
  • 110,000 zeer effectieve mensen en 300 + keuze van wereldberoemde bedrijven.
  • 60-day full features free trial. 60-dagen geld-teruggaranties. 2 jaar gratis upgrade en ondersteuning.

Brengt browsen met tabbladen en bewerken naar Microsoft Office, veel krachtiger dan de tabbladen van de browser

  • Office-tabblad is ontworpen voor Word, Excel, PowerPoint en andere Office-toepassingen: Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster, in plaats van in nieuwe vensters.
  • Verhoogt uw productiviteit met 50% en verlaagt dagelijks honderden muisklikken voor u!
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.
    Yvan · 1 years ago
    Thanks for the code it work's great the only thing i seem to have a long list of blank space after my list is there a way to fix it so only my list is in the selection box
    Thanks
    • To post as a guest, your comment is unpublished.
      crystal · 11 months ago
      Good day,
      Thanks for your comment. However, I didn't find any blank space after my list. It is possible that the drop-down list you have created including blank cells?
  • To post as a guest, your comment is unpublished.
    cchambers · 1 years ago
    I have 2 drop down lists I would like to convert to combo boxes, the second list values are dependent on the option selected in list 1. Further, i have 2 additional copies of this model, and would like each of the drop downs to work separately, to allow the user to select items to compare between each model. Is there a way to do this? When i try the steps outlined, each of the combo boxes are linked to the same list.
  • To post as a guest, your comment is unpublished.
    Jordi · 1 years ago
    Now its only searching for the first letters. Is it possible that it also search for complete words in the middle. Example PEFC Thermopal white. If i write white that it search for every row with white in it. It's the same question what @Rusty asked below ''I too would love something like Kumar indicates. Let's say one of the values in the drop down list is "John Goodman", is there anyway for the combo box to select and populate "John Goodman" as the user types just "Goodman"?
  • To post as a guest, your comment is unpublished.
    Ilze · 1 years ago
    Is it possible to assign the combo box to a specific data validation list using this code? I have more than 1 data validation list, but I only want the combobox to run with 1 specific data validation list. Would appreciate your help with this.
  • To post as a guest, your comment is unpublished.
    Dan · 1 years ago
    This doesn't seem to work if your data validation source is a name range within a table. Is there any way around that?
    • To post as a guest, your comment is unpublished.
      M. Amir Ashraf · 1 years ago
      "This doesn't seem to work if your data validation source is a name range within a table", I've also encountered the same problem when assigning the range thru VBA, however, it does seem to work if you assign it manually thru properties. It is annoying, but is a way out.