Note: The other languages of the website are Google-translated. Back to English

Jak autouzupełnianie podczas pisania w rozwijanej liście programu Excel?

W przypadku rozwijanej listy sprawdzania poprawności danych zawierającej wiele elementów, musisz przewijać listę w górę iw dół, aby znaleźć tę, której potrzebujesz, lub poprawnie wpisać całe słowo w polu listy. Czy są jakieś metody tworzenia automatycznie uzupełnianej listy rozwijanej podczas wpisywania pierwszej litery lub dowolnych znaków względnych? Pomoże to ludziom wydajniej pracować w arkuszach roboczych z rozwijanymi listami w komórkach. Ten samouczek zawiera dwie metody, które pomogą Ci to osiągnąć.

Autouzupełnianie podczas wpisywania listy rozwijanej z kodem VBA
Autouzupełnianie podczas wpisywania listy rozwijanej za pomocą niesamowitego narzędzia

Więcej samouczków dla rozwijanej listy ...


Autouzupełnianie podczas wpisywania listy rozwijanej z kodem VBA

Wykonaj następujące czynności, aby lista rozwijana była automatycznie uzupełniana po wpisaniu odpowiednich liter w komórce.

Po pierwsze, musisz wstawić pole kombi do arkusza i zmienić jego właściwości.

1. Otwórz arkusz zawierający rozwijaną listę komórek, dla których chcesz, aby były one automatycznie uzupełniane.

2. Przed wstawieniem pola kombi należy dodać kartę Deweloper do wstążki programu Excel. Jeśli karta Deweloper jest wyświetlana na wstążce, przejdź do kroku 3. W przeciwnym razie wykonaj następujące czynności: Kliknij filet > Opcje otworzyć Opcje okno. W tym Opcje programu Excel okno, kliknij Dostosuj Wstążkę w lewym okienku zaznacz plik Deweloper a następnie kliknij OK przycisk. Zobacz zrzut ekranu:

3. kliknij Deweloper > wstawka > Pole kombi (formant ActiveX).

4. Narysuj pole kombi w bieżącym arkuszu. Kliknij go prawym przyciskiem myszy, a następnie wybierz Właściwości z menu po kliknięciu prawym przyciskiem myszy.

5. w Właściwości W oknie dialogowym zamień oryginalny tekst w (Nazwa) pole z TempCombo.

6. Wyłącz Tryb projektowania klikając przycisk Deweloper > Tryb projektowania.

Następnie zastosuj poniższy kod VBA

7. Kliknij prawym przyciskiem myszy bieżącą kartę arkusza i kliknij Wyświetl kod z menu kontekstowego. Zobacz zrzut ekranu:

8. W otwarciu Microsoft Visual Basic for Applications należy skopiować i wkleić poniższy kod VBA do okna kodu arkusza roboczego.

Kod VBA: autouzupełnianie podczas pisania na rozwijanej liście

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. naciśnij inny + Q klawisze jednocześnie, aby zamknąć Aplikacje Microsoft Visual Basic okno.

Odtąd po kliknięciu komórki listy rozwijanej, lista rozwijana wyświetli się automatycznie. Możesz zacząć wpisywać literę, aby odpowiadająca jej pozycja była automatycznie uzupełniana w wybranej komórce. Zobacz zrzut ekranu:

Uwaga: Ten kod nie działa w przypadku scalonych komórek.


Autouzupełnianie podczas wpisywania listy rozwijanej za pomocą niesamowitego narzędzia

Ponieważ VBA jest trudny w obsłudze dla wielu użytkowników Excela, tutaj polecamy Przeszukiwalna lista rozwijana cechą Kutools dla programu Excel aby pomóc Ci łatwo wypełnić listę rozwijaną automatycznie podczas wpisywania pierwszego znaku.

Uwagi: Przed zastosowaniem funkcji upewnij się, że w arkuszu zostały utworzone listy rozwijane. W takim przypadku listy rozwijane są umieszczane w D3:D9.

1. kliknij Kutools > Lista rozwijana > Przeszukiwalna lista rozwijana > Ustawienia.

2. W wyskakującym okienku Przeszukiwalna lista rozwijana W oknie dialogowym należy wprowadzić następujące ustawienia.

2.1) W Stosuje się do sekcji, określ zakres lub arkusz roboczy, w którym chcesz zastosować funkcję listy rozwijanej z możliwością wyszukiwania;
Wskazówki: Po wybraniu Określony zakres przycisk radiowy, możesz wybrać Bieżący arkusz roboczy, Bieżący skoroszyt or Wszystkie skoroszyty z rozwijanej listy zgodnie z Twoimi potrzebami.
2.2) W Opcje wybierz sekcję Dopasowuje tylko początek słowa opcja lub Rozróżnianie wielkości liter opcja lub obie;
Dopasowuje tylko początek słowa: Zaznacz tę opcję, wyświetlane są tylko elementy, które zaczynają się od wpisanego znaku, a pierwszy dopasowany element zostanie automatycznie uzupełniony w polu listy. Usuń zaznaczenie tej opcji, aby wyświetlić elementy zawierające wpisany znak.
Rozróżnianie wielkości liter: Zaznacz tę opcję, aby przeprowadzić dopasowanie z rozróżnianiem wielkości liter do wpisanych znaków.
2.3) Kliknij OK.

3. Po zakończeniu ustawień musisz włączyć tę funkcję, klikając Kutools > Lista rozwijana > Przeszukiwalna lista rozwijana > Włącz listę rozwijaną z możliwością wyszukiwania.

Teraz, po kliknięciu komórki listy rozwijanej, wyświetlane jest pole listy ze wszystkimi elementami. Wystarczy wpisać znak w polu tekstowym, aby wyświetlić wszystkie odpowiadające mu elementy i użyć Up or W dół strzałkę, aby wybrać żądany element lub po prostu pozwól pierwszemu pasującemu elementowi automatycznie wypełnić pole listy, a następnie naciśnij Wchodzę klawisz, aby automatycznie uzupełnić komórkę listy rozwijanej pasującym elementem. Zobacz poniższe demo.

Kliknij, aby dowiedzieć się więcej o tej funkcji.

  Jeśli chcesz skorzystać z bezpłatnego okresu próbnego (30-dzień) tego narzędzia, kliknij, aby go pobrać, a następnie przejdź do wykonania operacji zgodnie z powyższymi krokami.


Podobne artykuły:

Jak utworzyć listę rozwijaną z wieloma polami wyboru w programie Excel?
Wielu użytkowników programu Excel ma tendencję do tworzenia listy rozwijanej z wieloma polami wyboru, aby wybrać wiele pozycji z listy na raz. W rzeczywistości nie można utworzyć listy z wieloma polami wyboru z funkcją Walidacja danych. W tym samouczku pokażemy dwie metody tworzenia rozwijanej listy z wieloma polami wyboru w programie Excel. W tym samouczku przedstawiono metodę rozwiązania problemu.

Utwórz listę rozwijaną z innego skoroszytu w programie Excel
Utworzenie listy rozwijanej sprawdzania poprawności danych w arkuszach roboczych w skoroszycie jest dość łatwe. Ale jeśli lista danych potrzebnych do weryfikacji danych znajduje się w innym skoroszycie, co byś zrobił? W tym samouczku dowiesz się, jak szczegółowo utworzyć listę rozwijaną z innego skoroszytu w programie Excel.

Utwórz listę rozwijaną z możliwością wyszukiwania w programie Excel
W przypadku listy rozwijanej z wieloma wartościami znalezienie odpowiedniej nie jest łatwą pracą. Wcześniej wprowadziliśmy metodę automatycznego uzupełniania listy rozwijanej po wpisaniu pierwszej litery w rozwijanym polu. Oprócz funkcji autouzupełniania, możesz również umożliwić przeszukiwanie listy rozwijanej, aby zwiększyć wydajność pracy w znajdowaniu odpowiednich wartości na liście rozwijanej. Aby umożliwić przeszukiwanie listy rozwijanej, wypróbuj metodę opisaną w tym samouczku.

Automatycznie wypełniaj inne komórki podczas wybierania wartości na liście rozwijanej programu Excel
Załóżmy, że utworzyłeś listę rozwijaną na podstawie wartości w zakresie komórek B8: B14. Po wybraniu dowolnej wartości z listy rozwijanej chcesz, aby odpowiednie wartości w zakresie komórek C8: C14 były automatycznie wypełniane w wybranej komórce. Aby rozwiązać problem, skorzystaj z metod przedstawionych w tym samouczku.

Więcej samouczków dla rozwijanej listy ...


Najlepsze narzędzia biurowe

Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%

  • Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
  • Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
  • Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
  • Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
  • Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
  • Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
  • Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
  • Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
  • Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2021 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowa bezpłatna wersja próbna. 60-dniowa gwarancja zwrotu pieniędzy.
karta kte 201905

Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
officetab dół
Sortuj komentarze według
Komentarze (325)
Brak ocen. Oceń jako pierwszy!
Ten komentarz został zminimalizowany przez moderatora na stronie
Próbowałem i działało to tylko 2 dni we właściwościach, wyświetla mi komunikat o błędzie po wpisaniu TempCombo, że jest to niejednoznaczna nazwa. Proszę pomóż
Ten komentarz został zminimalizowany przez moderatora na stronie
Doskonałe rozwiązanie, dziękuję!
Ten komentarz został zminimalizowany przez moderatora na stronie
Witam... Po dodaniu tego pola kombi nie mogę skopiować i wkleić innych elementów w arkuszu. Pozwala na kopiowanie przez wklejanie jest wyszarzone. Czy istnieje również sposób, aby pole kombi działało w scalonych komórkach? Dziękuję Ci
Ten komentarz został zminimalizowany przez moderatora na stronie
Ten sam problem co inny użytkownik - po dodaniu tego pola kombi nie mogę kopiować i wklejać z jednej komórki do drugiej. Wydaje się, że funkcja kopiowania działa, ale wklejanie, wklejanie specjalne i CTRL+V nie. Dziękuję Ci.
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć Thomas... czy kiedykolwiek znalazłeś rozwiązanie tego problemu? Jeszcze go nie znalazłem.
Ten komentarz został zminimalizowany przez moderatora na stronie
Brak prawdziwej odpowiedzi - po prostu wracam do DEWELOPERA i odznaczam TRYB PROJEKTOWANIA, gdy muszę kopiować i wklejać - pamiętaj, aby ponownie kliknąć TRYB PROJEKTOWANIA, gdy skończysz; w przeciwnym razie pole kombi nie będzie działać poprawnie po dwukrotnym kliknięciu komórki.
Ten komentarz został zminimalizowany przez moderatora na stronie
Chronię arkusz, aby nie można było modyfikować formuł, a gdy chronię arkusz, funkcja automatycznego wypełniania przestaje działać. Masz na to rozwiązanie?
Ten komentarz został zminimalizowany przez moderatora na stronie
czy znalazłeś na to rozwiązanie?
Ten komentarz został zminimalizowany przez moderatora na stronie
Jak mogę zablokować komórki?
Ten komentarz został zminimalizowany przez moderatora na stronie
Działa dobrze... Dzięki... Zaoszczędziłem dużo czasu... Jeszcze jeden wymiar. Z tym kodem działa dobrze w jednej kolumnie. Jakie zmiany musimy wprowadzić w kodzie vba, aby ten kod działał w innej kolumnie również w tym samym arkuszu, ale z innym źródłem walidacji danych
Ten komentarz został zminimalizowany przez moderatora na stronie
Dzięki za ogromną pomoc.. Dużo mojego czasu zostanie zaoszczędzone. Ten kod działa tylko dla jednej walidacji danych w kolumnie w arkuszu. Jakie zmiany musimy wprowadzić w kodzie, aby pracować z 2 walidacją danych w 2 oddzielnych kolumnach z oddzielnym źródłem danych
Ten komentarz został zminimalizowany przez moderatora na stronie
Czy mój zestaw danych/nazywany zakres używany na mojej liście rozwijanej musi znajdować się w tym samym arkuszu, aby to zadziałało? Dostaję aktywację pola kombi po dwukrotnym kliknięciu listy rozwijanej, ale kiedy zaczynam pisać, nic się nie pojawia? Masz pomysł, na czym może polegać problem? Wykonałem wszystkie powyższe kroki. Dziękuję bardzo Jared
Ten komentarz został zminimalizowany przez moderatora na stronie
Udało mi się uruchomić kod, ale mam problemy z zapisaniem pliku, otrzymuję różne komunikaty o błędach. po zapisaniu i ponownym otwarciu funkcja autouzupełniania nie działa. Używam programu Excel 2007. Czy ktoś może pomóc w zapisaniu pliku? dużo pomocy w internecie, ale nie rozumiem wszystkich poleceń. Dzięki
Ten komentarz został zminimalizowany przez moderatora na stronie
Nie, gdzie jest napisane, jak dodawać elementy do listy rozwijanej.
Ten komentarz został zminimalizowany przez moderatora na stronie
Jonathan, czy dowiedziałeś się, jak to zrobić?
Ten komentarz został zminimalizowany przez moderatora na stronie
Na początku też byłem zdezorientowany. Zdałem sobie sprawę, że ten kod powinien być sparowany z dowolną komórką sprawdzania poprawności danych w arkuszu. Skonfiguruj więc walidację danych, w tym skąd pobiera informacje, najpierw, a następnie kod pobierze informacje o liście z walidacji danych i nałoży ComboBox na komórkę z walidacją danych. Mam nadzieję, że to pomoże.
Ten komentarz został zminimalizowany przez moderatora na stronie
Dzięki za przydatne rozwiązanie :-)
Ten komentarz został zminimalizowany przez moderatora na stronie
Skończyłem listę rozwijaną autouzupełniania, jednak nie wiem, jak wyświetlić wartości po wpisaniu tekstu na liście rozwijanej. Na przykład w moim ARKUSZU BAZY DANYCH kolumna 1 składa się z pozycji, a kolumny 2 i 3 zawierają koszt pozycji. Wpisując pozycję z mojej listy rozwijanej W ARKUSZU GŁÓWNYM w kolumnie 1, koszt pozycji pojawia się w kolumnach 2 i 3. Czy jest to możliwe? Pomóż mi proszę
Ten komentarz został zminimalizowany przez moderatora na stronie
gdzie jest zakres listy źródeł do walidacji?
Ten komentarz został zminimalizowany przez moderatora na stronie
Nie zapomnij dodać zakresu elementów do listy rozwijanej we właściwości ComboBox „ListFillRange”
Ten komentarz został zminimalizowany przez moderatora na stronie
Działa bardzo dobrze dla list rozwijanych używających ='zakres', ale funkcjonalność ulega awarii, gdy tylko zakres jest wynikiem formuły, np. =JEŻELI(A1>0,'zakres','alternatywa'). Potrafi wpisać niewypełnione TempCombo
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć! To jest świetne. Ale jak połączyć moją listę rozwijaną z Comboboxem??? pls o pomoc.
Ten komentarz został zminimalizowany przez moderatora na stronie
Witam Mam z tym problem, nie widzę żadnych wartości na liście rozwijanej. Czy ktoś może mi powiedzieć, jak mogę połączyć mój zakres danych z menu rozwijanym? aby pokazać sugestie. jeśli możesz wysłać mi wypełniony arkusz kalkulacyjny, który byłby bardzo mile widziany. (Mój e-mail to deshandsouza@gmail.com)
Ten komentarz został zminimalizowany przez moderatora na stronie
Mam rozwiązanie na powyższe! Właśnie przegapiłem utworzoną rozwijaną listę sprawdzania poprawności danych. teraz działa dobrze.
Ten komentarz został zminimalizowany przez moderatora na stronie
Hurra! Postępowałem zgodnie z instrukcjami autouzupełniania podczas wpisywania listy rozwijanej z kodem VBA i dostałem dokładnie to, co chciałem się wydarzyć! Dziękuję Ci! Dziękuję Ci!
Ten komentarz został zminimalizowany przez moderatora na stronie
Cóż... zadziałało dla jednej komórki, ale kiedy próbowałem zrobić to dla całej kolumny, nie mogłem :( Mam to Col A=Nazwa elementu Col B= Data utworzenia Col C= Chcę wejść do kategorii, ale mam listę rozwijaną do wyboru Mam 723 "Pozycje", więc 723 wiersze, w których chcę, aby lista rozwijana pojawiała się podczas wprowadzania wartości. Jakieś sugestie? Z góry dziękuję
Ten komentarz został zminimalizowany przez moderatora na stronie
ale jak zrobić listę rozwijaną z danych...
Nie ma tu jeszcze żadnych komentarzy
Pokaż więcej

Bądż na bieżąco

Prawa autorskie © 2009 - www.extendoffice.com. | Wszelkie prawa zastrzeżone. Zasilany przez ExtendOffice, | Mapa strony
Microsoft i logo Office są znakami towarowymi lub zastrzeżonymi znakami towarowymi Microsoft Corporation w Stanach Zjednoczonych i / lub innych krajach.
Chronione przez Sectigo SSL