Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

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

Brotwer 05 Oct 2015 17:34 1356 5
  • #1
    Brotwer
    Level 9  
    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.
  • #3
    adamas_nt
    Moderator of Programming
    Och, akurat piłem kawę i rozmyślałem nad konstrukcją z wykorzystaniem msoFileDialog
    Code: vbscript
    Log in, to see the code
    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...
  • #4
    cbrman
    Level 27  
    adamas_nt wrote:
    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.
  • #5
    Brotwer
    Level 9  
    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.
  • #6
    Brotwer
    Level 9  
    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.