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.

Tworzenie makra - masowy import tabel z plików .html do jednego arkusza .xlsx

Brotwer 05 Paź 2015 17:34 915 5
  • #1 05 Paź 2015 17:34
    Brotwer
    Poziom 8  

    Szanowni Państwo,
    bardzo proszę o pomoc w stworzeniu prostego makra.

    Mam wiele folderów, w których znajdują się pliki z rozszerzeniem ".html". W każdym takim pliku znajduje się tabela o tej samej dla wszystkich plików ilości kolumn z tymi samymi nazwami nagłówków (pierwszy wiersz to nagłówki). Różnica pomiędzy tymi plikami to jedynie ilość wierszy.

    Chciałbym, żeby po uruchomieniu makra w pliku excel'a "Zbiorczy":
    1. Należało wskazać folder z którego chce się pobrać dane z plików z rozszerzeniem ".html"
    2. Z każdego pliku po kolei kopiowane byłby wszystkie wiersze prócz pierwszego (tego z nagłówkami) i wstawiane do przygotowanego arkusza "Zbiorczy" jeden pod drugim

    Moja wiedza w tym temacie ogranicza się jedynie do tworzenia makra za pomocą opcji "Zarejestruj makro...".

    W załączniku wysyłam przykładowe pliki.

    0 5
  • #3 06 Paź 2015 09:37
    adamas_nt
    Moderator Programowanie

    Och, akurat piłem kawę i rozmyślałem nad konstrukcją z wykorzystaniem msoFileDialog

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod
    i pętlą z 'Dir' oraz kwerendą, a tu ktoś wstał wcześniej ode mnie ;)

    W bloku With kwerendy warto na końcu dopisać ".Delete", coby ich w arkuszu nie przechowywać (nazbiera się ich co niemiara po jakimś czasie).

    Edit: Sorry, nie przyuważyłem stosownej pętelki...

    0
  • #4 06 Paź 2015 09:55
    cbrman
    Poziom 27  

    adamas_nt napisał:
    Och, akurat piłem kawę i rozmyślałem nad konstrukcją z wykorzystaniem msoFileDialog
    i pętlą z 'Dir' oraz kwerendą, a tu ktoś wstał wcześniej ode mnie ;)


    Właściwie to miałem prawie gotowca, dostosowałem jedynie kilka szczegółów do tego zagadnienia.

    0
  • #5 17 Paź 2015 15:54
    Brotwer
    Poziom 8  

    Przepraszam za opóźnienie w odpowiedzi.

    Niezmiernie dziękuje za pomoc. @cbrman - Twoje marko działa, ale u mnie niestety pobiera również nagłówki. Ale poradziłem sobie z problemem, zarejestrowałem makro, w którym usuwam duplikaty. Później połączyłem Twoje makro z moim, rejestrując trzecie makro, które uruchamiało je po kolei.

    0
  • #6 30 Paź 2015 10:21
    Brotwer
    Poziom 8  

    Szanowni Panowie, miałbym jednak jeszcze prośbę. Opisany przeze mnie sposób z usunięciem makra nie sprawdza się w pełni.

    Przy importowaniu danych z katalogu X przy użyciu makra cbrman'a i przy usuwaniu duplikatu przy użyciu mojego makra wszystko działa (dodam, że stworzyłem kolejne marko, które numeruje od nowa poszczególne wiersze).

    Gdy do tego samego arkusza z już zaimportowanymi danymi z folderu X chcę zaimportować dane z folderu Y to import działa, ale usuwanie duplikatów przy użyciu mojego makra już nie. Mimo zaznaczenia przed rejestrowaniem mojego makra opcji "Użyj odwołań względnych", przy jego wykonywaniu usuwane są duplikaty jedynie z obszaru zaznaczonego przy rejestracji makra. Nie obejmuje już obszaru z nowymi danymi. Nie potrafię obejść problemu.

    Gdyby importowanie plików było realizowane od razu bez uwzględnienia pierwszej kolumny to "byłbym w domu".

    Uprzejmie proszę o pomoc.

    0