Spis treści
Jeśli szukasz sposobów aby automatycznie wypełniać listę rozwijaną w Excelu W tym artykule pokażemy, jak możemy utworzyć listę rozwijaną z automatyczną aktualizacją w programie Excel, aby ułatwić sobie zadanie. Ponieważ nie musisz ręcznie aktualizować listy rozwijanej po zmianie dowolnej wartości w głównym zakresie danych. Więc przejdźmy do głównego artykułu.
Pobierz Zeszyt ćwiczeń
Auto-Update-Drop-Down-List.xlsx3 Sposoby na automatyczną aktualizację listy rozwijanej w Excelu
Mamy tutaj listę typów płatności, dla których chcemy stworzyć listę rozwijaną, ale aby wstawić kolejne typy płatności, chcemy automatycznie aktualizować naszą listę rozwijaną, postępując zgodnie z poniższą instrukcją 3 metody.
Do stworzenia tego artykułu użyliśmy Microsoft Excel 365 wersja Możesz jednak użyć każdej innej wersji według własnego uznania.
Metoda-1: Użycie funkcji OFFSET i COUNTA do automatycznej aktualizacji listy rozwijanej w Excelu
W tym rozdziale wykorzystamy kombinację OFFSET oraz KRAJ funkcje do automatycznego aktualizowania listy rozwijanej składającej się z typów płatności.
Kroki :
Po pierwsze, zobaczymy efekt tworzenia listy rozwijanej normalnie.
- Wybierz komórkę D5 a następnie przejdź do Dane tab>> Walidacja danych grupa>> Walidacja danych .
Następnie. Walidacja danych otworzy się kreator.
- Wybierz Wykaz z różnych opcji w ramach Pozwól i wybrać zakres w Źródło .
=$B$5:$B$10
Jest to zakres możliwości płatniczych.
- Naciśnij OK .
Następnie otrzymasz listę rozwijaną i jeśli dodasz kolejny wiersz dla innej opcji płatności; Bitcoin , to widać, że lista rozwijana nie jest aktualizowana automatycznie. Tak więc, ta nowo utworzona opcja nie jest uwzględniona w naszej liście.
Aby rozwiązać ten problem, stworzymy naszą listę w następujący sposób.
- Po otwarciu Walidacja danych okno dialogowe, wybierz Wykaz z różnych opcji w ramach Pozwól i wpisz następującą formułę w Źródło pudełko.
=OFFSET($B$5,0,0, COUNTA(B: B)-1)
Tutaj, $B$5 jest komórką początkową zakresu, to 2 Zera oznaczają, że odwołanie do komórki nie zostanie przesunięte o żaden numer wiersza lub kolumny. w końcu, COUNTA(B: B)-1 wskazuje na numer wysokości zakresu, który będzie liczbą wierszy zawierających teksty lub liczby.
- Naciśnij OK .
Tak więc po wprowadzeniu naszej formuły walidacji danych otrzymaliśmy następującą listę rozwijaną.
Jeśli dodamy kolejną opcję płatności o nazwie Bitcoin , to opcja ta zostanie automatycznie dodana do naszej listy.
Czytaj więcej: Jak użyć polecenia IF do utworzenia listy rozwijanej w Excelu
Metoda-2: Definiowanie nazwy dla zakresu i tworzenie tabeli do automatycznej aktualizacji listy rozwijanej
Istnieje inny sposób na utworzenie listy rozwijanej z automatyczną aktualizacją w Excelu, poprzez zdefiniowanie nazwy i użycie polecenia tabela Zobaczymy ten proces na tym samym przykładzie co powyżej.
Kroki :
- Idź do Formuły tab>> Określenie nazwy grupa>> Określenie nazwy .
Po tym, otrzymasz Nowa nazwa kreator.
- Wprowadź nazwę do " Nazwa " Text Box - tutaj będziemy wprowadzać " Formy płatności " i wybrać nasz zakres płatności w Dotyczy .
- Kliknij na OK .
Teraz nadszedł czas na stworzenie tabeli.
- Idź do Wkładka tab>> Tabela .
W ten sposób zostaniesz przeniesiony do Utwórz tabelę okno dialogowe.
- Wybierz zakres danych, a następnie sprawdź Moja tabela ma nagłówki opcja.
- Naciśnij OK .
W ten sposób stworzyliśmy następującą tabelę.
- Teraz wybierz komórkę D5 (gdzie chcemy mieć naszą listę rozwijaną), a następnie przejdź do Dane tab>> Walidacja danych grupa>> Walidacja danych .
Następnie. Walidacja danych otworzy się kreator.
- Wybierz Wykaz z różnych opcji w ramach Pozwól i wpisać nazwany zakres w Źródło pudełko.
=Typy płatności
Jest to zakres możliwości płatniczych.
- Naciśnij OK .
Tak więc po wprowadzeniu naszej formuły walidacji danych otrzymaliśmy następującą listę rozwijaną.
Jeśli dodamy kolejną opcję płatności o nazwie Bitcoin , to opcja ta zostanie automatycznie dodana do naszej listy.
Czytaj więcej: Jak stworzyć dynamicznie zależną listę rozwijaną w Excelu
Metoda-3: Zastosowanie funkcji INDIRECT Excela z tabelą do automatycznej aktualizacji listy rozwijanej
W ostatniej metodzie, zamiast używać nazwanego zakresu w źródle walidacji danych, możemy również użyć funkcja INDIRECT w polu Źródło i powołaj się na Nazwa tabeli W tym rozdziale pokażemy, jak można zrobić to samo, co Metoda 2 przy użyciu innej funkcji.
Kroki :
Najpierw przekonwertowaliśmy nasz zakres danych do tabeli, a nazwa tej tabeli to Tabela3 .
- Teraz otwórz Walidacja danych okno dialogowe, aby dodać listę rozwijaną w komórce D5 .
- Wybierz Wykaz z różnych opcji w ramach Pozwól i wpisz następującą formułę w Źródło .
=INDIRECT("Table3")
Tabela3 to zakres opcji płatności.
- Naciśnij OK .
Tak więc po wprowadzeniu naszej formuły walidacji danych otrzymaliśmy następującą listę rozwijaną.
Jeśli dodamy kolejną opcję płatności o nazwie Bitcoin , to opcja ta zostanie automatycznie dodana do naszej listy.
Jak automatycznie wypełniać listę rozwijaną w Excelu
Z pomocą VBA kod, będziemy automatycznie wypełniać teksty z listy rozwijanej w komórce D5 .
Krok-01 : Tworzenie listy rozwijanej, pola kombi
Najpierw utworzymy prostą listę rozwijaną w komórce D5 .
- Wybierz komórkę D5 a następnie przejdź do Dane tab>> Walidacja danych grupa>> Walidacja danych .
Następnie. Walidacja danych otworzy się kreator.
- Wybierz Wykaz z różnych opcji w ramach Pozwól i wybrać zakres w Źródło .
=$B$5:$B$10
Jest to zakres możliwości płatniczych.
- Naciśnij OK .
Tak więc, utworzyliśmy listę rozwijaną z powodzeniem.
Teraz wstawimy pole kombi.
- Idź do Deweloper tab>> Wkładka dropdown>> Combo Box (ActiveX Control) .
Następnie, a plus pojawi się symbol.
- Przeciągnij w dół i w prawo plus symbol.
- Stworzyliśmy kombi , zanotuj jego nazwę do wykorzystania w kodzie (nazwa kombi jest ComboBox1 ).
- Idź do Deweloper tab>> Tryb projektowania aby dezaktywować Tryb projektowania .
Step-02 : Napisz kod VBA
Teraz czas na wstawienie naszego kodu.
- Kliknij prawym przyciskiem myszy na stronie na nazwę swojego arkusza i kliknij na Wyświetl kod .
W ten sposób Edytor Visual Basic otworzy się okno, w którym będziemy mogli wstawić nasz kod.
- Wpisz następujący kod w VBE
Sub Worksheet_SelectionChange(ByVal P_val As Range) Dim DList_box As OLEObject Dim Ptype As String Dim Dsht As Worksheet Dim P_List As Variant Set Dsht = Application.ActiveSheet On Error Resume Next Set DList_box = Dsht.OLEObjects("ComboBox1") DList_box.ListFillRange = "" DList_box.LinkedCell = "" DList_box.Visible = False If P_val.Validation.Type = 3 Then P_val.Validation.InCellDropdown = FalseCancel = True Ptype = P_val.Validation.Formula1 Ptype = Right(Ptype, Len(Ptype) - 1) If Ptype = "" Then Exit Sub DList_box.Visible = True DList_box.Right = P_val.Right DList_box.Bottom = P_val.Bottom DList_box.Width = P_val.Width + 90 DList_box.Height = P_val.Height + 10 DList_box.ListFillRange = Ptype If DList_box.ListFillRange = "" Then P_List = Split(Ptype, ",") Me.ComboBox1.List = P_List EndIf DList_box.LinkedCell = P_val.Address DList_box.Activate Me.ComboBox1.DropDown End If End Sub
Podział kodu
- Wybraliśmy procedura cząstkowa nazwa jako Worksheet_SelectionChange ponieważ Arkusz roboczy wskazuje na arkusz i SelectionChange wskazuje na zdarzenie, które uruchomi kod. A my sklasyfikowaliśmy P_val jako Zakres .
- Po tym oświadczyliśmy. DList_box jako OLEObject , Ptype jako String , Dsht jako Arkusz roboczy oraz P_List jako Wariant .
- Następnie przypisaliśmy aktywny arkusz do Dsht , a pole kombi o nazwie ComboBox1 do DList_box .
- Wartość typ walidacji danych zostaje wybrany jako 3 który wskazuje na rozwijany
- Na stronie Ptype zmienna będzie przechowywała formułę używaną do sprawdzania poprawności danych w aktywnym arkuszu.
- Następnie ustaliliśmy pozycję pole listy rozwijanej i wspomniał o wielkości również.
Krok-03 : Uzyskaj wynik podczas wpisywania
Teraz przetestujemy nasz kod.
- Teraz wróć do głównego arkusza i kliknij komórkę D5 gdzie utworzyliśmy nasz lista rozwijana .
- Zacznij pisać na maszynie C dla Gotówka to zauważysz, że Gotówka nazwa pojawiła się już w komórce D5 .
- Teraz wystarczy umieścić kursor w innym miejscu, a dzięki temu pole kombi znów zniknie.
Jak edytować listę rozwijaną w oparciu o program Excel
Możesz łatwo edytować zakres, na podstawie którego utworzyłeś listę rozwijaną.
Na przykład tutaj wybraliśmy cały zakres Rodzaje płatności Ale teraz chcemy, aby na naszej liście znalazły się tylko trzy ostatnie opcje, więc musimy ją edytować.
Kroki :
- Wybierz komórkę D5 a następnie przejdź do Dane tab>> Walidacja danych grupa>> Walidacja danych .
Teraz Walidacja danych Zostanie otwarte okno dialogowe.
- Tutaj możemy zobaczyć następujący zakres w Źródło pudełko.
=$B$5:$B$10
- Zmieniliśmy go na następujący zakres.
=$B$8:$B$10
- Naciśnij OK .
Wreszcie zakończyliśmy naszą edycję, aby zmienić listę opcji.
Część ćwiczeniowa
Aby ćwiczyć samemu, stworzyliśmy Praktyka sekcja po prawej stronie każdego arkusza.
Wniosek
W tym artykule omówiliśmy różne sposoby na automatyczna aktualizacja listy rozwijanej w Excelu . Mam nadzieję, że te metody bardzo ci pomogą. Jeśli masz jeszcze jakieś pytania, to zostaw komentarz poniżej.