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

Excel VBA - Wyszukiwanie nowych rekordów i ich segregacja

06 Lut 2014 14:09 1347 1
  • Poziom 10  
    Witam,

    Sytuacja wygląda następująco. Mam pliki "Stan magazynu" oraz "Komponenty" . W pierwszym z nich muszę zrobić sumaryczne zestawienie części będących na magazynie, liczbę ich sztuk, koszta, zapotrzebowanie itd. W pliku "Komponenty" znajdują się zakładki ("Blachy stalowe", "Blachy aluminiowe", itd...) odpowiadają przykładowym numerom komponentów wraz z odnośnikami do dokumentacji (będą w oknach zaznaczonych na zielono). Lista elementów musi się ze sobą pokrywać, ale przejdę do sedna:

    Tabele z komponentami z poszczególnych kategorii będą rozwijane wraz z upływem czasu, będą się pojawiały nowe komponenty, stare będą aktualizowane itd. Natomiast potrzebuję zrobić automatyczne dodawanie rekordów z ze wszystkich arkuszy pliku "Komponenty" do pliku "Stan magazynu" . Kluczowymi kolumnami są Firma, Symbol elementu i Numer seryjny. Na chwilę obecną rozwiązane jest to w taki sposób, że w "Stanie magazynowym" przyjąłem pewien zapas w przód dodawanych wierszy ze wszystkich arkuszy komponentów i ich segregacja. Są one widoczne w "Stanie magazynu" jako wartości zerowe, jednak dzięki narzędziu filtru ukryłem je (bo po segregacji niestandardowej najpierw miałem same zera, a potem pojawiały się dopiero poszczególne komponenty) . Na chwilę obecną to działa.

    Super!

    Ale jest jedno małe "ale". W momencie gdy mi się skończy "zagospodarowane" miejsce w arkuszu "Stan magazynu" na elementy "Blachy stalowe" np. 200 a pozycji będzie 220 te 20 pozycji będzie niewidoczne i ręcznie będę musiał je dodać do tabeli a następnie segregować niestandardowo. Dlaczego niestandardowo? Bo gdy chcę filtrować za pomocą tego filtru przy nazwach kolumn segreguje mi tylko kolumny "Nazwa firmy", "Symbol elementu", "Numer seryjny", co też jest mylne dla innego użytkownika).

    Jak widać jest to mało elegancki sposób i tu moje pytanie:

    Czy jest możliwość stworzenia jakiegoś macro za pomocą VBA, które automatycznie będzie wykrywało nowe wartości wprowadzane w poszczególnych arkuszach w "Komponentach" i wstawiało je w odpowiednie miejsca w tabeli w pliku "Stan Magazynu" (oczywiście dodając odpowiednie obramowania komórek). Oraz prostsza metoda wyszukiwania i segregowania danych jak tylko poprzez sortowanie niestandardowe? W załączniku przesyłam (przykładowe) pliki o których mowa.

    Niestety u mnie jest niezwykle kiepsko z jakimikolwiek językami programowania, więc jeśli ktoś wpadnie na jakieś rozwiązanie prosił bym o przedstawienie go w sposób w miarę zrozumiały dla laika. Nie musi być to gotowe rozwiązanie (chyba że... :D). Przynajmniej nakierować na odpowiedź. Szukałem po kilku różnych tutorialach, jednak nic konkretnego nie przybliżyło mnie do rozwiązania problemu.

    Pozdrawiam i czekam na odpowiedź.
  • Poziom 17  
    Hey,

    Zauważ, że w pliku 'stany magazynowe' masz 'symbol elementu' i 'numer seryjny' przenoszone z konkretnej komórki z pliku 'komponenty', a wartości 'na stanie' i 'potrzeba' masz wpisane z palca w pliku 'stany magazynowe' co oznacza, że jeżeli zaczniesz segregować materiały w arkuszu 'komponenty' to w arkuszu 'stany magazynowe' wszystko Ci się rozjedzie i stany nie będą odpowiadały tym komponentom co mają - to moja największa obawa.

    wg mnie najlepsze byłoby zrobienie centralnego pliku lub scalenie tego w jeden gdzie byłyby zapisywane i stany magazynowe i dane komponentów, ew makro do sortowania tego.