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

[Solved] VBA Excel Zwrot zgodnie z warunkiem

ochenta92 27 Sep 2020 15:11 318 6
  • #1
    ochenta92
    Level 2  
    Cześć,
    sprawa jest taka - w pracy prowadzę ewidencję prowadzonych spraw w excelu. Żeby uniknąć kolejnego programu itd, mam już opcję zapisywania zadań na konkretną datę. Chodzi mi o to, żeby przy uruchomieniu makra, doszło do przeszukania pliku i wylistowania wszystkich spraw np na listboxie, przy których będę miał zapisaną dzisiejszą datę. Poniżej jak widać kolumna z datą kiedy ma być wyświetlone zadanie, obok nr wiersza (później się to to do czegoś innego ma przydać).
    VBA Excel Zwrot zgodnie z warunkiem
    Próbowałem z czymś takim, jak na razie chciałem tylko sam moduł wyszukiwania wszystkich wierszy z dzisiejszą datą:

    Code: vbscript
    Log in, to see the code

    a wynik chcę umieścić tutaj:
    VBA Excel Zwrot zgodnie z warunkiem

    Tak aby pojawiło się tam 582 i 587.
    Szukałem czegoś podobnego na forum, ale nie widzę nic co by pasowało.
    Z góry dziękuję za pomoc.
  • #2
    PRL
    Level 40  
    Quote:
    Z góry dziękuję


    Z góry proszę o plik. Mamy sobie sami tworzyć formularz i wypełniać komórki danymi? No chyba, że chcesz odpowiedź w Paintcie.:)
  • #4
    PRL
    Level 40  
    Code: vbscript
    Log in, to see the code
  • #5
    kinggustav
    Level 26  
    Ciekawe jak szybko jedna kolumna w ListBox przestanie wystarczać? Fajnie by było widzieć więcej danych. :)
    Jeżeli trzeba będzie wiele kolumn, to mam gdzieś przykład, tylko muszę go wygrzebać.
  • #6
    PRL
    Level 40  
    Jakie dane Autor przygotował, taki kod otrzymał.
  • #7
    ochenta92
    Level 2  
    Dzięki wszystkim za pomoc, ale postanowiłem obejść tą sprawę tworząc po prostu osobny arkusz. Niestety mimo tego nie osiągnąłem celu, który chciałem. Poprzez funkcje tablicowe wyszukuję zadanych dat, te zwracają mi numery przypisane odpowiednio do dat i zwracają mi odpowiednie dane, które następnie są możliwe do rozdzielenia na listy. Listy odpowiednio wprowadziłem do komórek wyboru. Obok poprzez wybranie daty ustawiam, na jaką datę ma się przestawić data, kiedy znów się wyświetli zadanie. Jedynym minusem tej metody jest brak możliwości edycji pewnej części danych, ponieważ przywołuje wartość komórki poprzez adresowanie pośrednie, więc jedynie ją nadpisuję poprzez łącz.tekst i potem podmieniam tekst w komórce - ten który był, na ten, który jest nadpisany (i w sumie na tym skończyło się tutaj użycie VBA).

    Odnośnie małej ilości danych - cała reszta danych tak na prawdę jest nieistotna w tym momencie - to numery wewnętrzne, dane do innych arkuszy, które nie mają wpływu na to, co chciałem osiągnąć. Jedynymi informacjami, które byłyby niezbędne jest numer sprawy (który i tak można zastąpić numerem wiersza) i data na którą miało być ustawione przypomnienie oraz tekst przypomnienia składający się z tekstu zapisanego w komórce oraz z dopisanej wartości. Cała reszta nie brała udziału w działaniu.

    Potrzebna jest tylko jedna kolumna - wybierająca odpowiednio najbliższą datę przypomnienia z pośród wielu kolumn różnych dat (data przypomnienia, data rejestracji, data rejestracji +14 (automatyczne przypomnienie), oraz kolumna w której jest zapisany numer sprawy.

    Także nie do końca, ale osiągnąłem zakładany wynik