Note: The other languages of the website are Google-translated. Back to English
Logga in  \/ 
x
or
x
Registrera  \/ 
x

or

Hur fyller jag i automatiskt när du skriver i rullgardinslistan i Excel?

För en rullgardinslista för datavalidering med massor av objekt måste du scrolla upp och ner i listan för att hitta den du behöver eller skriva in hela ordet i listrutan korrekt. Finns det några metoder för att göra en automatisk ifylld listruta när du skriver den första bokstaven eller några relativa tecken? Det kommer att hjälpa människor att arbeta mer effektivt i kalkylblad med rullgardinslistor i celler. Denna handledning innehåller två metoder som hjälper dig att uppnå det.

Autoslutför när du skriver i rullgardinsmenyn med VBA-kod
Komplettera automatiskt när du skriver i rullgardinsmenyn med ett fantastiskt verktyg

Fler handledning för rullgardinsmenyn ...


Autoslutför när du skriver i rullgardinsmenyn med VBA-kod

Gör så här för att göra en rullgardinslista autofullständig efter att ha skrivit motsvarande bokstäver i cellen.

För det första måste du infoga en kombinationsruta i kalkylbladet och ändra dess egenskaper.

1. Öppna kalkylbladet som innehåller rullgardinsmenyn som du vill göra det autofullständigt.

2. Innan du sätter i en kombinationsruta måste du lägga till fliken Developer i Excel-bandet. Om fliken Utvecklare visas på ditt band, växla till steg 3. Gör annars så här: Klicka på Fil > Tillbehör att öppna Tillbehör fönster. I denna Excel-alternativ fönstret klickar Skräddarsy bandet i den vänstra rutan, kontrollera Utvecklare och klicka sedan på OK knapp. Se skärmdump:

3. klick Utvecklare > Insert > Kombinationsbox (ActiveX Control).

4. Rita en kombinationsruta i det aktuella kalkylbladet. Högerklicka på den och välj sedan Fastigheter från högerklickmenyn.

5. I Fastigheter dialogrutan, ersätt originaltexten i (Namn) fält med TempCombo.

6. Stäng av Designläge genom att klicka Utvecklare > Designläge.

Tillämpa sedan nedanstående VBA-kod

7. Högerklicka på den aktuella arkfliken och klicka Visa kod från snabbmenyn. Se skärmdump:

8. I öppningen Microsoft Visual Basic för applikationer kopiera och klistra in nedanstående VBA-kod i kalkylbladets kodfönster.

VBA-kod: Autoslutför när du skriver i rullgardinsmenyn

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. Tryck andra + Q samtidigt för att stänga Microsoft Visual Basic-applikationer fönster.

Från och med nu, när du klickar på en rullgardinsmeny, kommer rullgardinslistan att fråga automatiskt. Du kan börja skriva in bokstaven för att göra motsvarande objekt automatiskt komplett i vald cell. Se skärmdump:

Notera: Den här koden fungerar inte för sammanslagna celler.


Komplettera automatiskt när du skriver i rullgardinsmenyn med ett fantastiskt verktyg

Eftersom VBA är svårt att hantera för många Excel-användare rekommenderar vi här Sökbar rullgardinslista egenskap av Kutools för Excel för att hjälpa dig att enkelt fylla i en rullgardinslista automatiskt när du skriver det första tecknet.

Anmärkningar: Innan du använder funktionen, se till att du har skapat rullgardinslistor i kalkylbladet. I detta fall placeras listorna i D3:D9.

1. klick Kutools > Listrutan > Sökbar rullgardinslista > Inställningar.

2. I pop-up Sökbar rullgardinslista i dialogrutan måste du göra följande inställningar.

2.1) I Ansök till sektion, ange ett område eller ett kalkylblad där du vill använda den sökbara rullgardinsmenyn;
tips: Efter att ha valt Specificerat omfattning alternativknapp kan du välja Aktuellt kalkylblad, Aktuell arbetsbok or Alla arbetsböcker från rullgardinsmenyn efter dina behov.
2.2) I Tillbehör väljer du Matchar bara början av ordet alternativ eller Skiftlägeskänsliga alternativ eller båda;
Matchar bara början av ordet: Markera det här alternativet, endast de objekt som börjar med det inskrivna tecknet visas, och det första matchade objektet kommer att fyllas i i listrutan automatiskt. Avmarkera det här alternativet för att visa objekt som innehåller det inskrivna tecknet.
Skiftlägeskänsliga: Markera det här alternativet för att utföra skiftlägeskänslig matchning med skrivtecknen.
2.3) Klicka OK.

3. När du är klar med inställningarna måste du aktivera funktionen genom att klicka Kutools > Listrutan > Sökbar rullgardinslista > Aktivera sökbar rullgardinslista.

Nu, när du klickar på rullgardinslistan, visas en listruta med alla objekt. Du behöver bara skriva in ett tecken i textrutan för att visa alla motsvarande objekt och använda Up or Ner pilen för att välja det objekt du behöver eller låt det första matchande objektet automatiskt fylla i listrutan och tryck sedan på ange för att autokomplettera rullgardinslistan med det matchande objektet. Se demon nedan.

Klicka för att veta mer om den här funktionen.

  Om du vill ha en gratis provperiod (30 dagar) på detta verktyg, klicka för att ladda ner den, och gå sedan till för att tillämpa operationen enligt ovanstående steg.


Relaterade artiklar:

Hur skapar jag rullgardinslista med flera kryssrutor i Excel?
Många Excel-användare tenderar att skapa rullgardinslista med flera kryssrutor för att välja flera objekt från listan per gång. Du kan faktiskt inte skapa en lista med flera kryssrutor med datavalidering. I den här handledningen kommer vi att visa dig två metoder för att skapa rullgardinslista med flera kryssrutor i Excel. Denna handledning ger metoden för att lösa problemet.

Skapa rullgardinslista från en annan arbetsbok i Excel
Det är ganska enkelt att skapa en rullgardinslista för datavalidering bland kalkylblad i en arbetsbok. Men om listdata du behöver för datavalideringen hittar du i en annan arbetsbok, vad skulle du göra? I den här guiden lär du dig hur du skapar en drop-down-lista från en annan arbetsbok i Excel i detalj.

Skapa en sökbar rullgardinslista i Excel
För en rullgardinsmeny med många värden är det inte lätt att hitta en riktig. Tidigare har vi introducerat en metod för automatisk komplettering av rullgardinsmenyn när du anger den första bokstaven i rullgardinsmenyn. Förutom funktionen för autoslutförande kan du också göra listrutan sökbar för att förbättra arbetseffektiviteten för att hitta rätt värden i listrutan. För att göra rullgardinsmenyn sökbar, prova metoden i den här självstudien.

Fyll i andra celler automatiskt när du väljer värden i Excel-listrutan
Låt oss säga att du har skapat en rullgardinslista baserat på värdena i cellområdet B8: B14. När du väljer något värde i listrutan vill du att motsvarande värden i cellintervall C8: C14 fylls automatiskt i en vald cell. För att lösa problemet kommer metoderna i denna handledning att göra dig en tjänst.

Fler handledning för rullgardinsmenyn ...


De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2019 och 365. Stöder alla språk. Enkel distribution i ditt företag eller organisation. Fullständiga funktioner 30-dagars gratis provperiod. 60-dagars pengarna tillbaka-garanti.
kte-flik 201905

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50%och minskar hundratals musklick för dig varje dag!
officetab botten
Say something here...
symbols left.
You are guest
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.
    jpbisani · 5 years ago
    Combo box makes selection(a1:a6000) correctly but does not filler as i type. Instead whatever i enter appears in E6. In combo box properties i have added in Linked cells $e$6:$e$100 and List full range: $a$1:$a$6000.
  • To post as a guest, your comment is unpublished.
    jpbisani · 5 years ago
    combo box selects everything I want (A1:a6000). The problem is it does not filter as i type in combo box. Instead whatever I type in combobox appears in e6. In tempbox properties I have added Linked cells $e$6:$e100 & list fill range $a$1:$a$6000. is where problem arise.
  • To post as a guest, your comment is unpublished.
    Dee · 5 years ago
    Hello,

    I tried to use it with my list but no list appears on my drop down list. help.
  • To post as a guest, your comment is unpublished.
    sasha · 5 years ago
    How do I do this for more than one drop down list?
    • To post as a guest, your comment is unpublished.
      Wilnex · 5 years ago
      It should work on all the drop down list you have in the worksheet where the combo box is.
  • To post as a guest, your comment is unpublished.
    James · 5 years ago
    Freaking Awesome.. thanks alot
  • To post as a guest, your comment is unpublished.
    MilkyTech · 5 years ago
    This works ok, however, definitely causes problems for the worksheet that contains the vba code. I don't have an issue with pasting as others do but "Undo" and "Redo" buttons don't function within this sheet (Ctrl+Z doesn't work either).
    Also, I would like to know if the "double-click" requirement can be worked around? I want to be able to just start typing in a "selected" cell rather than a "double-clicked" cell.
    One more issue is that this code turns every cell in the sheet into a combo box instead of just the dropdowns.
    • To post as a guest, your comment is unpublished.
      Hooly · 4 years ago
      Any work around on the 'selected' rather than 'double clicked'?
  • To post as a guest, your comment is unpublished.
    raj · 5 years ago
    but , how you make list for drop down from data ...
  • To post as a guest, your comment is unpublished.
    Jennifer · 5 years ago
    Well... it worked for one cell but when I tried to make it work for the whole column I couldn't :(

    What I have is
    Col A=Item name
    Col B= Date Created
    Col C= I want to enter Category but have dropdown list to choose from

    I have 723 "Items" so 723 rows where I want the dropdown list to appear as I go about entering the values.

    Any suggestions?
    Thank you in advance
  • To post as a guest, your comment is unpublished.
    Jennifer · 5 years ago
    Woohoo! Followed the steps in Autocomplete when typing in drop down list with VBA code
    and I've gotten exactly what I wanted to happen! Thank you! Thank you!
  • To post as a guest, your comment is unpublished.
    Zal · 5 years ago
    Hi!
    This is great. But how to I link my drop down list to the Combobox??? pls help.
    • To post as a guest, your comment is unpublished.
      Desh · 5 years ago
      Hello
      I have problem with this, i cant see any values on the drop down. Can anybody tell me how i can link my data range with the drop down? to show suggestions.
      if you can send me complected spread sheet that would be much appreciated.( My email is deshandsouza@gmail.com)
      • To post as a guest, your comment is unpublished.
        Desh · 5 years ago
        I got solution for the above! Just missed out to created Data validation drop down list. its works fine now.
  • To post as a guest, your comment is unpublished.
    Mike · 5 years ago
    Works Very nicely for drop downs using ='range' but functionality breaks as soon as the range is a result of a formula eg =IF(A1>0,'range','alternative').
    Able to type in an unpopulated TempCombo
  • To post as a guest, your comment is unpublished.
    Minhaj Ameen · 5 years ago
    Do not forget to add the range of items for dropdown in the ComboBox Property 'ListFillRange"
  • To post as a guest, your comment is unpublished.
    dddd · 5 years ago
    where is range of source list for validation?
  • To post as a guest, your comment is unpublished.
    Dante · 5 years ago
    I have completed the autocomplete drop down list, however, i do not know how to show the values after typing the text in the drop down list. For example, in my DATA BASE SHEET, Column 1 consist of the items and column 2 & 3 consist the cost of the item. By typing the item in my drop down list IN THE MAIN SHEET in column 1, the cost of the items appears in column 2 & 3. Is it possible that it can be done? Help me please
  • To post as a guest, your comment is unpublished.
    Makos · 5 years ago
    Thanks for useful solution :-)
  • To post as a guest, your comment is unpublished.
    Jonathan Horovitz · 5 years ago
    No where does it say how to add elements into the drop down box.
    • To post as a guest, your comment is unpublished.
      Zal · 5 years ago
      Jonathan, have you found out how to do it?
  • To post as a guest, your comment is unpublished.
    Don · 5 years ago
    I was able to get the code to work, but I am having issues saving the file, I get different error messages. once I have it saved and re-open the autocomplete function does not work. I am using Excel 2007. Can somebody provide assistance of how to save the file? a lot of help on the internet but I don't understand all of the commands.
    Thanks
  • To post as a guest, your comment is unpublished.
    Jared · 5 years ago
    Does my data set/named range being used for my drop down list need to be on the same sheet for this to work? I am getting the combo box to be activated when I double click on the drop down but when I start typing nothing comes up? Any idea what the issue could be here? I followed all steps above.


    Thank you very much,
    Jared
  • To post as a guest, your comment is unpublished.
    Jignesh · 5 years ago
    Thanks for immense help.. Lot of time of mine will be saved.

    This code works for only one data validation in a column in worksheet.. What changes we have to made in code to work with 2 data validation in 2 separate columns with separate data source
  • To post as a guest, your comment is unpublished.
    Jignesh · 5 years ago
    Works well.. Thanks.. Saved lot of my time.. One more dimension.
    With this code it works well in one column.. What changes we have to made in vba code to ensure this code works in other column also in the same sheet but with different data validation source
  • To post as a guest, your comment is unpublished.
    Sam · 6 years ago
    How can I lock cells?
  • To post as a guest, your comment is unpublished.
    Holly · 6 years ago
    I am protecting the sheet so that the formulas can't be modified and when I protect the sheet the auto fill functionality no longer works. Do you have a solution for this?
    • To post as a guest, your comment is unpublished.
      Sam · 6 years ago
      have you found a solution for this?
  • To post as a guest, your comment is unpublished.
    Thomas · 6 years ago
    Same problem as another user - after adding this combo box, I am unable to copy and paste from one cell to another. The copy function seems to work, but the paste, paste special, and CTRL+V do not. Thank you.
    • To post as a guest, your comment is unpublished.
      NAMASTAH · 5 years ago
      Hi Thomas... did you ever get a solution to this? I have yet to find one.
      • To post as a guest, your comment is unpublished.
        Thomas · 5 years ago
        No real answer - I just go back to DEVELOPER and deselect DESIGN MODE when I must copy and past - remember to click DESIGN MODE again when you are finished; otherwise, your combo box will not function properly when you double click a cell.
  • To post as a guest, your comment is unpublished.
    Namastah · 6 years ago
    Hello... After adding this combo box, I am unable to copy and paste other elements on the worksheet. It allows me to copy by paste is greyed out. Also, is there a way to make the combo box work in merged cells? Thank you
  • To post as a guest, your comment is unpublished.
    Yane · 6 years ago
    Excelent solution, thank you!
  • To post as a guest, your comment is unpublished.
    Jay · 6 years ago
    I tried and it worked for just 2 days now in the properties, it is giving me an error message upon typing TempCombo that it is an ambiguous name.

    Please help