logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Excel - Automatyczne pobieranie danych z wielu plików i arkuszy

marek.bak 11 Gru 2014 11:51 2142 19
REKLAMA
  • #1 14212267
    marek.bak
    Poziom 1  
    Posty: 1
    Witam ciepło!

    Wiem że temat poruszany wielokrotnie, lecz nigdzie nie znalazłem odpowiedniego rozwiązania dla mojego problemu. Próbował z kilku rozwiązań skleić coś na swoje potrzeby, ale efekt był daleki od zamierzonego. Uprzedzam, że nie znam się na VB.

    Być może ktoś z was będzie w stanie mi pomóc. Założenia:

    1. Automatycznie pobiera dane ze wszystkich plików katalogu.
    2. Pobiera dane z konkretnych komórek np.: P4, P5, P6, C9, C10..., potrzebuję mieć możliwość dopisywania nowych komórek.
    3. Zapisywania ich w arkuszu wg wzoru: kolumna A - P4; kolumna B - P5; kolumna C - P6...; i tak dalej.
    4. Dana muszą być pobrane z pliku (skoroszytu) z konkretnych zakładek (arkuszy), ale arkusze mają w różnych plikach, różne nazwy. Kolejność ich jest taka sama. Najlepiej gdyby udało się pobrać dane z arkuszy pomiędzy nazwami arkuszy "SUMA" a "Produkt_ostatni". Może być ich 1, a może być nawet 5. Problemem może być to, że pomiędzy nimi są ukryte arkusze, ale z nich nie potrzebuję żadnych informacji.
    6. Dane z każdej następnej zakładki i kolejnego pliku zapisane w następnym rzędzie (1, 2, 3...).

    Najbliżej i chyba najlepiej działający jaki znalazłem skrypt:

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Z góry dziękuję za chęć pomocy.
    Marek
  • REKLAMA
  • #2 14213313
    JRV
    Specjalista - VBA, Excel
    Posty: 2724
    Pomógł: 805
    Ocena: 454
    marek.bak napisał:
    Automatycznie pobiera dane ze wszystkich plików katalogu.

    Czyli jedna lokalizacja(katalog) plików?
  • #3 14214876
    PRL
    Poziom 41  
    Posty: 6871
    Pomógł: 953
    Ocena: 888
    Pobaw się tym.
    Chyba nie masz problemu, jak skopiować komórkę z pliki źródłowego do docelowego.
    Jeżeli tak to podpowiedź:

    Kod: text
    Zaloguj się, aby zobaczyć kod


    dopisz:

    Kod: text
    Zaloguj się, aby zobaczyć kod
    Załączniki:
    • Import_z_wielu_lokalizacji2.rar (14.21 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    Pomogłem? Kup mi kawę.
  • REKLAMA
  • #4 14505854
    s_lonsze
    Poziom 9  
    Posty: 8
    Proszę Państwa, potrzebuję pomocy, a powyższe informacje mi nie pomagają. Potrzebuje skopiować do excela dane z innego pliku excel z Akrusza1. wg. formuły: ='[Zeszyt1.xls]Arkusz1'!$A$1 pobiera mi dane ale tylko z pierwszego wiersza. Czy jest jakaś formuła, która umożliwi mi skopiowanie wszystkich danych z Arkusza1 pliku nazwa1.xls do pliku nazwa4.xls.

    Czy możliwe jest również, aby pobierał dane jednocześnie dla kilku plików? np. z pliku nazwa1, nazwa2, nazwa3.xls do pliku nazwa4.xls???

    Bardzo proszę o pomoc :)
  • #5 14505879
    PRL
    Poziom 41  
    Posty: 6871
    Pomógł: 953
    Ocena: 888
    Powyższe rozwiązanie robi dokładnie to, co potrzebujesz.

    Tutaj jest prostsze rozwiązanie:
    Załączniki:
    • Import_z_wielu_lokalizacji.rar (14.78 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    Pomogłem? Kup mi kawę.
  • #6 14505915
    s_lonsze
    Poziom 9  
    Posty: 8
    tak, ale pojawia mi się tylko pierwsza komórka, jak pobrać całą zawartość kolumny? przeciagnie nie pomaga, jedynie ręczna zmiana $A$1 na $A$2 i w każdym kolejnym wierszu powoduje zmianę.

    Kinga
  • #7 14505959
    PRL
    Poziom 41  
    Posty: 6871
    Pomógł: 953
    Ocena: 888
    Cytat:
    Potrzebuje skopiować do excela dane z innego pliku excel z Akrusza1. wg. formuły: ='[Zeszyt1.xls]Arkusz1'!$A$1


    Cytat:
    przeciagnie nie pomaga, jedynie ręczna zmiana $A$1 na $A$2


    Jakie przeciąganie?
    Proszę o Twój plik 'Nazwa4.xls'.
    Pomogłem? Kup mi kawę.
  • #8 14505978
    s_lonsze
    Poziom 9  
    Posty: 8
    Opiszę i prześlę pliki już jutro, czeka mnie podróż i nie będę miała internetu!

    Dzięki za pomoc!!!!!!
  • REKLAMA
  • #9 14506003
    PRL
    Poziom 41  
    Posty: 6871
    Pomógł: 953
    Ocena: 888
    Kod: text
    Zaloguj się, aby zobaczyć kod


    Dodam, że chcąc skopiować np. kolumnę A, to w arkuszu 'Parametry' wpisujesz 'A:A'.
    Nie wiem, co robisz źle, że Tobie nie działa...
    Pomogłem? Kup mi kawę.
  • REKLAMA
  • #10 14506040
    s_lonsze
    Poziom 9  
    Posty: 8
    W załączniku plik końcowy4 do którego chcę pobrać dane z pliku1. kopjuje mi sie tylko 1 wiersz:/
    Załączniki:
    • nazwa1.xls (27 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • nazwa4.xls (26 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #12 14506091
    s_lonsze
    Poziom 9  
    Posty: 8
    hmmm, chyba dlatego piszę tutaj, czyż nie?
  • #13 14506107
    JRV
    Specjalista - VBA, Excel
    Posty: 2724
    Pomógł: 805
    Ocena: 454
    Kolega PRL proponuje makro do kopiowania, ale w nazwa4 tylko formuły
  • #14 14506110
    PRL
    Poziom 41  
    Posty: 6871
    Pomógł: 953
    Ocena: 888
    Cytat:
    hmmm, chyba dlatego piszę tutaj, czyż nie?

    Zapewne.
    Ale co z tego, że piszesz, skoro nie potrafisz wykorzystać odpowiedzi?
    Oczekujesz gotowca.
    Dostałaś gotowca w 99%.
    Do tego zlewasz piszącego.

    Zapytam: co Ci nie działa?
    Pomogłem? Kup mi kawę.
  • #15 14506153
    s_lonsze
    Poziom 9  
    Posty: 8
    PRL nigdy nie zajmowałam się programem excela na co dzień, dostałam takie zadanie i chce się dowiedzieć jak to działa.
    Odpowiadając na Pana pytanie: wszystko...
  • #16 14506174
    PRL
    Poziom 41  
    Posty: 6871
    Pomógł: 953
    Ocena: 888
    Skoro wszystko nie działa, to pozwolę sobie oddać pałeczkę komuś, kto Ci pomoże.
    Nie obraź się.
    Pomogłem? Kup mi kawę.
  • #17 14510207
    s_lonsze
    Poziom 9  
    Posty: 8
    Uzupełniłam dane w pliku do którego mam importować dane, mimo to w dalszym ciągu nie następuje import danych. Skorzystałam z gotowego szablonu od PRL. Czy ktoś mi powie dlaczego?
    Załączniki:
    • makr.rar (31.6 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #18 14510444
    PRL
    Poziom 41  
    Posty: 6871
    Pomógł: 953
    Ocena: 888
    Oto gotowiec.
    Załączniki:
    • ImportPlikowDoArkuszy.rar (13.37 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    Pomogłem? Kup mi kawę.
  • #19 14510830
    s_lonsze
    Poziom 9  
    Posty: 8
    PRL - baaaardzo dziękuję za pomoc! Niestety potrzebuję "hybrydy" obu makr z tematu. ImportPlikowDoArkuszy pobiera dane ale wybiera wszystkie pliki z danej ścieżki, nie pozwala wybrać zakresu i tworzy osobny arkusz dla każdego. Ale działa!

    Możliwe jest dodanie jeszcze 2 funkcjonalności z pierwszego makra z tematu (ImportujPlikizWieluLokalizacji)? Rozwiązaniem całego tematu byłoby Twoje makro z dodatkowym arkuszem, w którym oprócz ścieżki mogę podać zakres danych z każdego pliku i kolumnę w docelowym arkuszu, do którego te dane mają być skopiowane (tak jak w pierwszym makro w temacie). Druga sprawa - wszystkie dane (one zawsze będą w arkuszach źródłowych w formie kolumn), muszą być zbierane w jednym arkuszu docelowym, nie w kilku, tworzonych automatycznie dla każdego źródła.

    Drogi PRL - jesteś w stanie mi pomóc? Sama próbowałam już połączyć oba makra w VBA ale wywala mi cały czas błędy i prowadzi do debugera. To chyba nie moja broszka:(
  • #20 14510854
    PRL
    Poziom 41  
    Posty: 6871
    Pomógł: 953
    Ocena: 888
    Cytat:
    jesteś w stanie mi pomóc?


    Oczywiście, ale podeślij plik z arkuszem 'Parametry' i jeszcze raz od początku i dokładnie opisz, co chcesz zrobić.
    Nie ma sensu, żebym pisał trzecie makro, a potem może kolejne.
    Wolę jedno.:)

    Spróbowałem zgadnąć, co masz na myśli:
    Załączniki:
    • ImportParametry.rar (15.58 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    Pomogłem? Kup mi kawę.

Podsumowanie tematu

✨ Użytkownik poszukuje rozwiązania do automatycznego pobierania danych z wielu plików Excel, z konkretnych komórek i arkuszy, z zachowaniem określonej struktury w arkuszu docelowym. W odpowiedziach zaproponowano różne podejścia, w tym wykorzystanie makr VBA do kopiowania danych z wybranych komórek i arkuszy. Użytkownicy dzielili się fragmentami kodu oraz wskazówkami, jak skonfigurować arkusze i zakresy do importu. Pojawiły się również pytania o możliwość pobierania danych z wielu plików jednocześnie oraz o problemy z importem danych, które nie działały zgodnie z oczekiwaniami. Wskazano na potrzebę dostosowania makr do specyficznych wymagań użytkownika.
Wygenerowane przez model językowy.
REKLAMA