Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Excel 2013 - VBA - Rozwijana lista - invalid property value

gzelson 21 Mar 2016 14:54 1338 10
  • #1
    gzelson
    Level 9  
    Witam,

    tworzę w pracy mały program - generalnie większość to różnego typu funkcje, które moge zrobić sam bez używania VBA.
    Jestem totalnie zielony i udało mi się znaleźć kod, który powinien działać

    Code: vbnet
    Log in, to see the code


    I tutaj mam problem. W tym momencie wywala mi błąd "invalid property value".

    Co chcę osiągnąć:
    Po kliknięciu w listę, którą dodałem w formacie ActiveX chciałem wybierać z listy, która będzie się zawężać po wpisywaniu kolejnych liter i cyfr.
    W zeszycie QuotationForm, w komórce AC15 ma wyrzucać mi Item Code z zeszytu "Articles", kolumny A ( komórki od 2 do 300).

    W innych miejscach arkusza mam formuły, które dopasują mi dane jeśli będzie tam jakaś wartość.

    Jutro rano na spotkaniu muszę pokazać, że to działa, a jednak nie mogę sobie poradzić z tak trywialną rzeczą, jak głupia lista.

    Mam nadzieję, że znajdzie się król VBA i pomoże mi wybrnąć z tej sytuacji :)
    Ethernet jednoparowy (SPE) - rozwiązania w przemyśle. Szkolenie 29.09.2021r. g. 11.00 Zarejestruj się za darmo
  • #2
    lesławek
    Level 32  
    Zamieść plik z całym projektem... Ogólnie można powiedzieć że niekompliuje ci się bo brakuje ci referencji do Microsoft Forms 2.0 Object Library W Tools-> References
    Jeśli go tam nie ma to daj browse i system32\ FM20.DLL a potem zaznacz Microsoft Forms 2.0 Object Library... powinno pomóc
  • #3
    gzelson
    Level 9  
    lesławek wrote:
    Zamieść plik z całym projektem... Ogólnie można powiedzieć że niekompliuje ci się bo brakuje ci referencji do Microsoft Forms 2.0 Object Library W Tools-> References
    Jeśli go tam nie ma to daj browse i system32\ FM20.DLL a potem zaznacz Microsoft Forms 2.0 Object Library... powinno pomóc


    Lesławek,

    dziękuję za odpowiedź.
    Jestem zielony w tych sprawach, ale referencja jest zaznaczona.

    W załączniku jest plik pomocniczy - orginalnego nie mogę zamieścić z uwagi na wrażliwość danych.
    Rozłożenie komórek jest dokładnie takie same, jak w orginalnym pliku.
    Sprawa z "przyciskiem" powinna być banalnie prosta, ale jednak nie jest. Nie dla mnie.
    Będę bardzo wdzięczny za pomoc.
  • #4
    lesławek
    Level 32  
    gzelson wrote:
    Po kliknięciu w listę, którą dodałem w formacie ActiveX chciałem wybierać z listy, która będzie się zawężać po wpisywaniu kolejnych liter i cyfr.

    Hm w pliku który zamieściłeś nie ma żadnego kodu....
    Bez VBA można to zrobić np tak:
  • #5
    gzelson
    Level 9  
    lesławek wrote:
    gzelson wrote:
    Po kliknięciu w listę, którą dodałem w formacie ActiveX chciałem wybierać z listy, która będzie się zawężać po wpisywaniu kolejnych liter i cyfr.

    Hm w pliku który zamieściłeś nie ma żadnego kodu....
    Bez VBA można to zrobić np tak:


    Wybacz, poniosło mnie i zapomniałem, że zrobiłem nowy plik.

    Próbowałem z tym sposobem, ale w bazie mamy ponad tysiąc kodów, których liczba sukcesywnie się powiększa. Ciężko byłoby szukać i wertować, jeśli niektóre z nich różnią się tylko cyfrą.
    W załączniku jest poprawiona wersja pliku.
    Zależy mi na dwóch rzeczach, bo miejsce, gdzie ma "wypluwać" wynik udało mi się ustawić.
    - Chciałbym, żeby userform brał dane z zakładki Articles, z kolumny A
    - Po kliknięciu przycisku "save" znikało okienko, chyba, że coś jest nie tak.

    Z góry dziękuję za pomoc i porady :)

    Usunąłem plik, bo przez pomyłkę dodałem stary, ale okazuje się, że nie mogę wrzucić z macro enebled. W jakim formacie mogę go tutaj dodać, żeby działało macro ?
  • #6
    lesławek
    Level 32  
    Wybacz ale piszesz o user formach i kodach, a zamieszczasz plik xlsx który z definicji nie obsługuje VBA...
  • #7
    gzelson
    Level 9  
    lesławek wrote:
    Wybacz ale piszesz o user formach i kodach, a zamieszczasz plik xlsx który z definicji nie obsługuje VBA...


    lesławek,

    przed chwilą się zorientowałem i edytowałem powyższy post.
    Możesz podpowiedzieć z jakim rozszerzeniem mam wrzucić na elektrodę ?
  • Helpful post
    #8
    clubs
    Level 36  
    Witam
    Pliki musisz pakować rar/zip itp.

    Co do ładowania danych do comboboxa odpowiedzialna jest część j.n
    musisz dopisać z jakiej zakładki są pobierane dane czyli

    Code: vbnet
    Log in, to see the code
  • #9
    gzelson
    Level 9  
    clubs wrote:
    Witam
    Pliki musisz pakować rar/zip itp.

    Co do ładowania danych do comboboxa odpowiedzialna jest część j.n
    musisz dopisać z jakiej zakładki są pobierane dane czyli

    Code: vbnet
    Log in, to see the code


    Jest ! Udało się i działa :). Jestem na prawdę bardzo wdzięczny za pomoc.

    A w jaki sposób mogę sprawić, że lista po kliknięciu "zapisz" będzie wprowadzała w wybraną komórkę dane, a następnie okno samo się zamknie?

    Dodaje działający plik - może ktoś inny będzie szukał, to będzie miał praktycznie gotowca.
  • Helpful post
    #10
    lesławek
    Level 32  
    Hm może tak.
    Code: vbscript
    Log in, to see the code
  • #11
    gzelson
    Level 9  
    lesławek wrote:
    Hm może tak.
    Code: vbscript
    Log in, to see the code


    Panowie lesławek, oraz clubs - bardzo dziękuję za pomoc. Oba zaproponowane rozwiązania działają, nauczyły mnie kolejnych nowych rzeczy i jestem za to bardzo wdzięczny.


    Gdyby ktoś był ciekawy jak wygląda finalny kod (być może jest więcej takich laików jak ja), to podaje go poniżej:
    Code: vbscript
    Log in, to see the code


    Jeszcze raz bardzo dziękuję !