Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[VBA] Zliczanie zamówień i tworzenie 30-7-4 elemtnowych pozycji

Jox90 19 Sie 2018 14:03 213 4
  • #1 19 Sie 2018 14:03
    Jox90
    Poziom 2  

    Witam,
    Mam problem tej natury, że przekracza jeszcze moje umiejętności pracy z VBA :) Tj. tworzenie warunków.

    W załączniku mam tabele -
    w arkuszu dane są zamówienia od firm na dane rodzaje obiadów
    na dole w arkuszu dane przelicza mi ile potrzebuje kartonów optymalnie by od razu rozkładać do kartonów.
    Przyciski u góry
    1) pierwszy kopiuje do arkusza dane2 - arkusz dane (ktory chcialbym aby był orgyinalny i nie tykalny :)
    2) generuje mnie z tabeli piekna liste zamówień (makro) dla danego sklepu.

    Jak klikniecie po kolei dwa przyciski od lewej dostaniecie w arkuszu Naklejki liste. (w pliku załączonym jest klikniete, wiec jak chcecie sobie wypróbowac to kasujecie dane z arkusza Dane2 i arkusza Naklejki).

    PROBLEM
    Problem polega na tym, że teraz chce inaczej formułować te naklejki - tak by po włożeniu kartki drukować naklejki (4 na strone) z informacja co jest w pudełku.
    PRZYKŁAD
    firma a będzie miała wg zamówienia 1 pudełko 30 elementowe i dwa pudełka 7 elementowe
    potrzebuje tu 3 naklejek gdzie zliczy mi do 30 elementów z kolumny
    czyli
    30 elementowe pudełko
    Firma a
    FILET Z KURCZAKA PO SZWAJCARSKU 3
    ROLADKI WIEPRZOWE 3
    FILET Z KURCZAKA W PANIERCE 3
    KOTLET DE VOLAILLE FASOLKA 4
    KOTLET SCHABOWY Z PIECZARKĄ 3
    WĄTRÓBKA DROBIOWA Z CEBULKĄ 4
    LASAGNA Z MIESEM 4
    PLACEK PO WĘGIERSKU 6

    7 elementowe pudełko
    Firma a
    PIEROGI Z MIESEM 6

    3 elementowe pudełko
    Firma a
    PIEROGI RUSKIE 4
    SPAGHETTI BOLOGNEZE 3

    Problem próbowałem rozwiązać w ten sposób ze rozpisywać to na pozycje
    Pierogi Ruskie 1
    Pierogi Ruskie 1
    Pierogi Ruskie 1 itd itd... dlaczego? A no dlatego, że w powyższym przykladzie ladnie na 30 było rozgraniczenie, ale w kolejnym już może nie być tak kolorowo (Pierogi Ruskie 4 może byc na granicy 30 - i wtedy dwa razy pierogi ruskie trafiaja do 30 i dwa razy pierogi ruskie do nastepnego pudelka).

    Problem też polega na tym, aby zawsze wkleją tabele co 25 wiersz w dół (czyli pierwsza tabela zaczyna sie od 1 wiersza,druga od 25, trzecia od 50 - bezwzględnie czyli bez znaczenia ile wczesniejsza tabela ma (nie bedzie na pewno wiecej pozycji w jednym pudełku). Najlepiej w nowym arkuszu.

    Ja się poddałem. Ktoś może rozbroi system i pomoże? Najgorsze to zliczanie z powyższymi warunkami. O ile w excelu sobie poradzilem o tyle tutaj mam zagwozdke...

    Załączam plik
    PS. chcialem załączyć z makrami, ale niedowzwolone rozszerzenie.

    0 4
  • #2 20 Sie 2018 21:03
    czeles
    Poziom 16  

    Proszę załączyć plik Excela z projektem VBA (spakować winzipem). Łatwiej będzie poprawiać kod niż pisać od nowa.

    0
  • #3 26 Sie 2018 11:21
    Jox90
    Poziom 2  

    Dzięki :)
    Juz dodaje - interesuje nas ostatni arkusz "nowe naklejki"
    oraz makro "do ulepszenia" (MODULE 5)
    Pozostałe makra to zabawa w przenoszenie i rozbijanie (jeszcze to zoptymalizuje).

    OPIS:
    Rozbiłęm te zamówienia na firmy - na pojedynczą tabele (dlatego,że np. dla firmy jest przewidziane 35 zamowien i miedzy 29 a 31 wystepują roladki - sumujac dawalo to 31, a odejmujac z sumarycznej tabeli 28 elementowe pudełko - pusta przestrzen rodzi koszty).
    Dzieki rozbiciu wiem, że maksymalna ilość pudełek zostanie dołączona do kartonu :)

    PROBLEM:
    makro mi działało do podziału dla jednej firmy ;)
    Tymczasem problemy jakie teraz przede mną stoją to:
    * pętla powinna się kończyć kiedy napotka pustą komórke - cofnąć do góry w prawo i wpisać wartość K (probowalem EXIT do ale chyba źle to sotusje)
    * następnie powinno być przejście na kolejną zmienną "kolumna" w pętli for i ... zaczać od kolejnej firmy liczyć

    To są dwa podstawowe problemy, z ktorymi sie męczę :)

    Kolejny problem to arkusz z naklejkami to jeżeli juz bede miał wartości obok (30, 7 i 4 w kolumnie C)
    chce mieć w kolejnym arkuszu (zsumowane)
    a
    FILET Z KURCZAKA PO SZWAJCARSKU 3
    ROLADKI WIEPRZOWE 3
    FILET Z KURCZAKA W PANIERCE 3
    KOTLET DE VOLAILLE FASOLKA 4
    KOTLET SCHABOWY Z PIECZARKĄ 3
    WĄTRÓBKA DROBIOWA Z CEBULKĄ 4
    LASAGNA Z MIESEM 4
    PLACEK PO WĘGIERSKU 6

    Uwagi:
    Wiem, że robie to prawdopodobnie na okretke - pewnie da sie to szybko machnać, ale mam ograniczone umiejętności :) Licze na wsparcie

    0
  • #4 27 Sie 2018 17:56
    Jox90
    Poziom 2  

    Jakby ktos szukal :)
    To rozwiazalem te problemy

    Teraz zostało mi zrobić naklejki.
    Technika kaczuszki działą ! :)

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod

    0