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 - Pobieranie danych z innych plików EXCEL i nie tylko

08 Cze 2015 12:16 2577 11
  • Poziom 9  
    Witam,
    Wiem że ten wątek się przewija co pewien czas, ale nie znalazłem tam potrzebnych mi informacji. Będę wdzięczny za jakieś podpowiedzi. Oto moje problemy:
    Tworzę coś w rodzaju raportu/ zestawienia podsumowującego kolejne miesiące.
    Aby to zrobić muszę to tego raportu zaciągnąć dane z pozamykanych plików (ok 30). Każdy z plików ma wiele pozycji (czasem kilka tysięcy). Każdy miesiąc zapisywany jest w osobnym katalogu ( z nazwą miesiąca i rokiem).
    Dodam, że nie znam się na tworzeniu Makr.

    Poradziłem sobie z zaciąganiem danych do pliku z zamkniętych plików źródłowych, ale trwa to bardzo długo - ok 10 min (czy można ten czas w jakiś sposób skrócić?). Zaciąganie jest poprzez kopiowanie wybranych komórek do arkuszy w tworzonym pliku przez co Waga tego pliku również rośnie. Nie udało mi się stworzyć działającej formuły, która pobierałaby tylko dane spełniające określony warunek - tak więc pobieram wszystkie dane z wybranych kolumn i później obrabiam je w pliku docelowym.

    Drugi problem to: dobrze by było, aby znalazł się sposób który powodował by np po podaniu miesiąca zmieniała się ścieżka do plików źródłowych (jak pisałem powyżej zestawienie jest miesięczne, a pliki z każdego miesiąca mają swój katalog). Chodzi o to by nie trzeba było tworzyć 12 raportów z linkami do danych w różnych katalogach, a 1, który umiał by pobierać dane w zależności od wyboru miesiąca.
    Czy ktoś może coś podpowiedzieć / pomóc?
  • Poziom 34  
    Witam

    poszukaj na forum Import_z_wielu_lokalizacji
  • Pomocny post
    Poziom 38  
    Gdyby 'Import_z_wielu_lokalizacji' Ci nie pasował, to daj znać.
  • Poziom 9  
    Daję znać, bo nie udało znaleźć mi się tego wątku.
  • Poziom 9  
    Bardzo dziękuję, jest tylko problem, gdyż to działa pod warunkiem, że we wskazanym katalogu jest tylko jeden plik, ale jeśli ja w katalogu mam ich ok 30 i z każdego muszę pobrać podobne dane. (załóżmy, że każdy plik to osobny magazyn z którego muszę pobrać i obrobić dane do zestawienia zbiorczego)

    Inny problem którego nikt do tej pory nie podjął to zmiana źródeł pobierania w zależności od miesiąca za który jest wykonywany raport, tak aby nie trzeba było wykonywać 12 plików z raportami, a jeden.
    Jest na to jakieś rozwiązanie?
  • Pomocny post
    Poziom 38  
    Cytat:
    jest tylko problem, gdyż to działa pod warunkiem, że we wskazanym katalogu jest tylko jeden plik, ale jeśli ja w katalogu mam ich ok 30


    Makro działa właśnie w ten sposób, że z podanej lokalizacji pobiera wszystkie pliki *.xls*.

    Drugie pytanie proszę sprecyzować.
  • Poziom 9  
    No właśnie niezupełnie tak działa.
    Gdy dałem odnośnik do katalogu z 30 plikami ciągnie z jednego i otwiera/ uruchamia drugi, oraz podaje komunikat:
    Run-time'9'
    Subscript out of range.

    Podejrzewam, że może to być związane z tym, że dane w plikach z których są pobierane, są w arkuszach o rożnych nazwach. Ja wcześniej pisałem w każdym miesiącu powstaje nowy katalog z danymi z kolejnego miesiąca. Nie zmieniają się nazwy plików i arkuszy. Tak więc raz przygotowany plik mógłby być wykorzystany do kolejnych miesięcy. Ideałem by było gdyby można by było w pliku zbierającym zmieniając nazwę lub numer miesiąca zmienić ścieżkę dostępu do odpowiedniego katalogu.
  • Poziom 38  
    Proszę o konkrety:
    - nazwy folderów,
    - nazwy plików,
    - nazwy arkuszy.

    Jeżeli Kolega ma na przykład foldery z nazwami miesięcy, a w nich pliki z nazwami magazynów, a w takim pliku arkusze z nazwami magazynierów, to trzeba napisać nowe makro.:)

    Obecne makro działa dla wielu plików z różnych lokalizacji, ale zakłada, że w każdym z plików źródłowych istnieje jeden arkusz o tej samej nazwie i tym samym zakresie danych. Tak było kiedyś napisane, bo taka była potrzeba.

    P.S. Proszę dokładnie przeczytać notatkę, która jest umieszczona w arkuszu 'Parametry'...
  • Poziom 9  
    - nazwy folderów, SPRZEDAŻ 05.2015 (zmienia nr miesiąca - na tą nazwę mam wpływ)
    - nazwy plików, PLN_STA_6114 (na nazwy plików nie mam wpływu - różnią się dwiema ostatnimi cyframi. nazwy nie są kolejno po sobie następujące, więc dobrze by było móc zadeklarować nazwy plików ręcznie, np. gdyby kiedyś pojawił się jakiś dodatkowy lub z innym typem nazwy)
    - nazwy arkuszy. są takie same jak nazwy plików czyli np. PLN_STA_6114. uwaga o możliwości zadeklarowania dodatkowych arkuszy w plikach też miała by logiczne zastosowanie.

    Jeśli wszystkie dane trafią do jednego arkusza typu IMPORT dobrze by było je jakoś rozróżnić, by było wiadomo które dane są które. a może dobrze jest zrobić import do osobnych arkuszy o nazwach plików z których są pobierane.

    W chwili obecnej jak napisałem na początku mam ok 30 arkuszy do których kopiuje za pomocą formuł dane z tych ok 30 plików.
    Minusem tego rozwiązania są:
    - czas pobierania
    - w kolejnym miesiącu muszę stworzyć kolejny plik pobierający dane
    - nie udało mi się kopiować danych z plików po sprawdzeniu warunku czy to jest dobry produkt, więc pobieram wszystko, a następnie "obrabiam" otrzymane dane w pliku docelowym.
  • Poziom 38  
    W związku z tym, że nie jest to jakiś ogólny przykład marka, a indywidualny, proponuję dokończyć zadanie na PW.