• Zapisz się do newslettera, aby otrzymywać powiadomienia o nowościach na blogu
    Zapisując się, wyrażasz zgodę na przesyłanie Ci informacji o nowościach na tym blogu. Zgodę możesz w każdej chwili wycofać (szczegóły).

Dynamiczne źródło listy rozwijanej

Czyli co zrobić, aby źródło listy rozwijanej samo się powiększało?

Temat, który pojawił się na webinarze o listach rozwijanych i powtarza się w wielu mailach, które do mnie piszecie. Listy rozwijane już umiemy tworzyć (opisuję to choćby tutaj). Ten temat powtarzał się na blogu wieeele razy. Jednak do tej pory opisywałam listy, które mają statyczne źródło. Dziś odpowiem na pytanie o to, co zrobić, żeby źródło listy rozwijanej się powiększało?

Omówię to na prościutkim przykładzie: mamy listę rozwijaną, z której chcemy wybrać dział, w którym pracuje dany pracownik. Natomiast chcemy mieć możliwość dopisywania działów i nasza lista ma te nowe działy uwzględnić.

Tak wygląda formatka:

Formatka

Formatka

Trik jest bardzo prosty, tylko jak zwykle trzeba o nim wiedzieć :). Chodzi o to, aby źródło listy rozwijanej było obiektem tabela. Potem samo idzie 😉

Zobaczmy to dokładniej.

Krok 1. Tworzenie obiektu tabela

Chcemy, aby źródło listy rozwijanej było tabelą (nawet jeśli jednokolumnową). Aby stworzyć z danych tabelę, należy ustawić się w tych danych (u nas to zakres D3:D10) i użyć skrótu klawiszowego Ctrl + t. Po zatwierdzeniu okienka tworzenia tabeli dostaniemy taki obrazek:

Gotowa tabela

Gotowa tabela

Oczywiście kolorki tego cuda można sobie pozmieniać.

Jedną z właściwości obiektu tabela jest to, że zwiększa swój zakres po dopisaniu do niej danych. Tę właściowość wykorzystamy w liście rozwijanej (krok 2.).

Krok 2. Tworzenie listy rozwijanej

Aby ją stworzyć najpierw należy:

1.  Zaznaczyć komórki, w których ma ta lista się pojawić. U nas jest to żółta komórka B4.

2. Następnie wybrać z menu Dane/ Sprawdzanie Poprawności.

3. Pojawi się okienko sprawdzania poprawności, z którego wybieramy, że dozwoloną wartością ma być lista.

4. W polu Źródło wskazujemy natomiast naszą tabelę, którą stworzyliśmy w poprzednim kroku, a konkretnie te wpisy, które mają się pojawić na liście, czyli D4:D10. KOmplet informacji pokazuje poniższy obrazek:

Tworzenie listy rozwijanej

Tworzenie listy rozwijanej

Powstanie nam oczywiście lista rozwijana w komórce, natomiast będzie miała ona interesującą nas właściwość – jej źródło będzie dynamiczne, czyli jak dopiszemy nowy dział do spisu działów – pojawi się on na liście rozwijanej w żółtej komórce. Prezentuje to obrazek poniżej:

Wynik - dopisany nowy dział

Wynik – dopisany nowy dział

Tak stworzona lista rozwijana rzeczywiście będzie miało samopowiększające się źródło, natomiast warto wiedzieć, że to zadziała, jak tabela źródłowa jest w tym samym arkuszu ups!). Jest oczywiście sposób, aby działało między arkuszami i możesz o nim przeczytać tutaj.

I tyle! Proste? I hope ;). Komu pomogłam to dajcie proszę znać w komentarzu 🙂

Poniżej wersja wideo tego triku:

 

 

 

Spodobał Ci się ten artykuł?

Jeśli TAK, zapisz się na newsletter, aby otrzymywać powiadomienia
o o nowościach na blogu.

Zapisując się, wyrażasz zgodę na przesyłanie Ci informacji o nowościach na tym blogu. Zgodę możesz w każdej chwili wycofać (szczegóły).

Tagi , , , , , .Dodaj do zakładek Link.

8 odpowiedzi na „Dynamiczne źródło listy rozwijanej

  1. luk mówi:

    jedyny minus to, że lista musi być w tym samym arkuszu

  2. ciekawy mówi:

    a jak zrobić aby nazwy z listy rozwijanej podpowiadały sie podczas wpisywania kolejnych znaków nazwy…?

  3. Michał mówi:

    Witam serdecznie,
    Chciałbym nadmienić, że robi Pani świetną robotę.

    Czy mogłaby Pani zrobić kurs na temat filtrowania danych w tabeli z pomocą list rozwijanych.
    Mam tabelę z danymi i chciałbym, aby wybierając z listy rozwijanej jakąś daną z zawartą w danej kolumnie tabla pokazywała tylko wiersz z danej tabeli.
    Przykładowo wybieram z listy Lp. 1 tabela wyświetla mi wiersze w których w kolumnie Lp. zawiera się 1.
    Pozdrawiam

    • Malina mówi:

      Witam,
      bardzo dziękuję za słowa uznania :). Zawsze mi miło, jak słyszę takie 🙂
      Odnośnie pytania – tutaj trzeba byłoby użyć już zdarzeń w VBA po to, aby takie filtrowanie działo się automatycznie.
      Natomiast wydaje mi się, że może w takiej sytuacji wystarczy po prostu autofiltr? Pytanie dokładnie jaka jest sytuacja? 🙂

Pozostaw odpowiedź luk Anuluj pisanie odpowiedzi

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *