Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Excel - Lista unikatowych pozycji w ListBox

JaroFon 07 Feb 2018 05:54 597 14
  • #1
    JaroFon
    Level 23  
    Witam. Proszę niech ktoś podpowie jak zrobić w LstBox listę z konkretnego zakresu, ale listę z nazwani unikatowymi, tak aby nazwy się nie powtarzały. Dołączam załącznik:
  • #2
    clubs
    Level 37  
    Witam
    Możesz dodać np przez nową kolekcję (New Collection)
  • #3
    JaroFon
    Level 23  
    A jakiś konkret?
  • #5
    JaroFon
    Level 23  
    Mojego archiwum chyba nie można rozpakować bo używam nowego WinRara 5.50. Tym razem spakowałem systemowym 7z.

    Zrobiłem to tak jak w załączniku. Zostanie mi jeszcze utworzyć listę przefiltrowanych pozycji. Jednak mam pytanie związane jeszcze z samym filtrem. Czy można ten filtr uzależnić całkowicie od siebie aby po przefiltrowaniu w jednym filtrze, filtrowały się automatycznie pozostałe filtry? Chodzi o to że jak przefiltruję jeden filtr to w pozostałych nie będą dostępne wszystkie pozycje do filtrowania
  • #6
    adamas_nt
    Moderator of Programming
    A to źle do tego podszedłeś. Weźmy "Gniazdo". Powinna być wypełniona tylko pierwsza lista. Następna dopiero warunkowo przy Change poprzedniej.
  • #7
    JaroFon
    Level 23  
    Tylko ja bym chciał żeby wszystkie filtry były wypełnione jednocześnie tak jak jest teraz i niezależnie z którego filtra będę korzystał to reszta będzie się dostosowywać według tego z którego akurat skorzystam i ewentualnie z kolejnych przy jednym filtrowaniu. Nie mam pojęcia jak to zrobić. Ostatecznie jeżeli będzie to skomplikowane to zostawię to tak jak jest i dodam jeszcze do dolnego okna przefiltrowaną listę.
  • #9
    JaroFon
    Level 23  
    Chodziło mi dokładnie o taki efekt filtrowania. Czy mógłbym poprosić o pomoc dopisania kodu przefiltrowanej listy do poniższego okna? tak aby podczas filrowania pojawiała się odpowiednia lista.
  • #10
    adamas_nt
    Moderator of Programming
    Hmm. A co ma się znaleźć na tej liście? Jeśli tylko model, to przypisz listę pod koniec (za pętlami) procedury 'wypełnijListy' (ListBox1.List = lstModel.List).

    Jeśli to ma być wielokolumnowa lista z wszystkimi informacjami, to najprościej byłoby dołożyć kolumnę z unikatowymi liczbami (Np WIERSZ()) w arkuszu "Procesory" i wg listy 'lstModel' przypisać do ListBox'a.
    Wtedy wystarczyłoby "nieco" zmodyfikować tę pętlę, w której masz "lstModel.AddItem (model(i))" oraz dołożyć ukrytą kolumnę w "lstModel", do której wpisujesz nasze "id" i przepisujesz po prostu wskazany wiersz.

    Czyli na początku masz wszystkie procesory i w miarę filtrowania zostają te = id modelu.
  • #11
    JaroFon
    Level 23  
    No właśnie chciałbym żeby w oknie pojawiła się lista wielokolumnowa, czyli ze wszystkimi informacjami. To filtrowanie pomógł mi napisać kolega. Ale nie potrafię sobie poradzić z wklejeniem odpowiednio przefiltrowanej listy do dolnego okna :(
  • #12
    adamas_nt
    Moderator of Programming
    OK, jeśli się wyrobię przed południem. Jeśli nie, dopiero wieczorem.
    Ale dla pewności zerknij proszę, czy dobrze myślę. Dolna lista byłaby wypełniana wg lstModel.
    Trzeba zacząć od tablicy dwuwymiarowej "model" dla już na samym początku (zbierzDane)...
  • #13
    JaroFon
    Level 23  
    Po otwarciu okna i jeszcze nie zaznaczonym żadnym filtrze ma się pojawić pełna lista procesorów ze wszystkimi informacjami. Lista ma się zmieniać na podstawie tego co zaznaczę we filtrze. Kolega który mi napisał to filtrowanie pomógłby mi to napisać ale On musiał wyjechać
  • Helpful post
    #14
    adamas_nt
    Moderator of Programming
    Tak chyba najprościej będzie.
    W "Module2" masz wypełnianie listy. Na wzór wstawiłem pierwsze trzy (z ośmiu).
    Musisz sobie tylko dopasować szerokość kolumn w Initialize oraz dopisać pozostałe. Kolejność zostawiam Tobie. W moim przykładzie zaczyna się od "model", dalej "typ" i "chipset".
  • #15
    JaroFon
    Level 23  
    Dzięki wielki, o to mi chodziło :)