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.

[VBA] Lista rozwija z funkcją przenoszenia do danej komórki

bursonik 14 Dec 2017 01:05 897 9
  • #1
    bursonik
    Level 7  
    Cześć,
    zrobiłem plik rozliczeniowy. Mam tylko dwa problemy.
    1. w komórce J1 arkusza GB BUD jest lista rozwijana. Jak zrobić aby zniknęły z niej na końcu puste opcje oraz aby była możliwość zaczęcia pisania danej nazwy i od razu ją podświetli pomijając na początku znacznik # (czyli takie wyszukiwanie)?

    2. Jak zrobić, że jak z tej listy rozwijanej wybiorę daną nazwę to automatycznie przewinie mi się ekran do tej tabeli i będę mógł zacząć wprowadzać dane? Nazwy tabel mogą się zmieniać wiec musi być to jakieś dynamiczne odniesienie np. do kolumny B która zawiera właśnie tę nazwę tabeli.

    Jak się nie da usunąć tych pustych oraz zrobić tego wyszukiwania to chociaż może to przewijanie do danej tabeli się uda zrobić bo na tym najbardziej mi zależy.

    Z góry dziękuję za pomoc.
    Ethernet jednoparowy (SPE) - rozwiązania w przemyśle. Szkolenie 29.09.2021r. g. 11.00 Zarejestruj się za darmo
  • #2
    JRV
    VBA, Excel specialist
    bursonik wrote:
    w komórce J1 arkusza GB BUD jest lista rozwijana
    Jest lub ma byc?
    Rzeczywiscie je tam nie ma.

    Dodano po 12 [minuty]:

    bursonik wrote:
    pomijając na początku znacznik #
    tzn. nie Chcesz kazdy raz pisac '#', tylko GB(KIM... itd) ?

    Dodano po 20 [minuty]:

    bursonik wrote:
    zniknęły z niej na końcu puste opcje
    Masz na mysli #X ?
  • #3
    bursonik
    Level 7  
    hmm ściągnąłem ten plik co umieściłem i w J1 w zielonym polu u mnie jest rozwijana lista wszystkich tytułów tabel które znajdują się w kolumnie B (lista jest pobierana z arkusza PODS. z zakresu B7:B60). Lista ta jest ok ale jej zakres w dół jest większy dlatego też pojawiły się puste pola w niej i nie wiem jak się ich pozbyć.

    Co do nazwy to tabele zaczynać się zawsze będą od znaku # i jakieś słowo. W tej wyszukiwarce chciałbym pominąć pisanie tego znaku i móc wpisywać samo to słowo czyli jak mam #Multubudownictwo to jak zacznę pisać Multi to wyskoczy podpowiedz #Multibudownictwo.

    Jak się wyszukiwania nie da ogarnąć jakoś łatwo to najbardziej zależy mi na tym aby zniknęły puste pola z listy oraz jak się wybierze z niej ten tytuł to przeniesie mnie do tej tabeli czyli defa kto komórki zawierającej to słowo.
  • #4
    JRV
    VBA, Excel specialist
    hmm.. Otwieram to w excel2007; w J1 tylko #GB bez zadnej listy(poprawnosc danych lub form ComboBox lub ActiveX Combobox)
    ActiveSheet.shapes.count - wynik zero

    Jakiego rodzaju lista?(poprawnosc, form lub ActiveX)
    Jaky sens tyle nazew zakresow?(Tabela....)
  • #5
    bursonik
    Level 7  
    Listę zrobiłem ale za pomocą poprawności i przenosi ona tez do wybranej tabeli tak jak chciałem. Problem w tym, że jest ona trochę krótka jak na tyle danych. Czy da się ją jakoś wydłużyć? Próbowałem z comboboxem ale poległem bo wtedy nie wiedziałem jak połączyć z nim to żeby przenosił do tabeli jak się wybierze daną nazwę z listy.
  • #6
    JRV
    VBA, Excel specialist
    Jaka masz wersje Excel ? Widze ' Worksheet_Change' listu nie :(
    [VBA] Lista rozwija z funkcją przenoszenia do danej komórki
  • #7
    bursonik
    Level 7  
    Mam wers. 2016.

    Może sam dodaj w to miejsce listę poprzez poprawność. W źródle wpisz:
    Code: vbscript
    Log in, to see the code


    I jak się pojawi lista to jak zaczniesz wybierać to powinno ciebie przenosić do tabeli zawierającej to słowo (makro znajduje się w kodzie skoroszytu). Może zadziała tobie a jak nie to nie wiem jak to zmienić aby tobie prawidłowo działało na niższej wersji.

    Ja potrzebuję zrobić coś podobnego ale żeby ta lista była trochę dłuższa bo teraz za dużo przewijania i mało to czytelne oraz aby zniknęły te puste pola po słowie KONIEC które jest podsumowaniem tabel.
    [VBA] Lista rozwija z funkcją przenoszenia do danej komórki [VBA] Lista rozwija z funkcją przenoszenia do danej komórki
  • Helpful post
    #8
    JRV
    VBA, Excel specialist
    bursonik wrote:
    aby zniknęły te puste pola po słowie KONIEC
    dynamiczny zakres
    dodaj nazwe =PRZESUNIĘCIE(PODS.!B7;0;0;LICZ.JEŻELI(PODS.!B:B;"#*"))
    bursonik wrote:
    żeby ta lista była trochę dłuższa
    Mam wątpliwości
  • #9
    bursonik
    Level 7  
    ok, to zadziałało :) ja męczyłem się z comboboxem ale nie umiałem go połączyć z moim makrem które przenosi do danej tabeli... no nic będę musiał się męczyć takim małym okienkiem chyba.