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.

Pliki .txt z określonymi wierszami do excela

svrobert 17 Cze 2015 12:55 1038 13
  • #1 17 Cze 2015 12:55
    svrobert
    Poziom 8  

    Witam.

    Potrzebuję pomocy z importem wielu plików txt do excela. Pliki txt mają podobne rozłożenie różnią się jedynie wartościami oraz liczbą wierszy. Potrafię stworzyć makro na kopiowanie z wybranego pliku txt określonych kolumn od np 20 wiersza.
    Dziś potrzebuję stworzyć makro do importowania wielu plików txt znajdujących się np: "c:/a/". Znalazłem coś takiego ale niestety nie umiem tego aktywować.
    Czy mógłby ktoś tak to zmodyfikować aby pliki były wyszukiwane w folderze "c:/a/" oraz wyszukiwany był tylko tekst od 20 do 25 (lub tylko od 20) wiersza podzielony na kolumny które oddziela "spacja".
    Tak naprawdę wolałbym aby z pliku txt wybierane były tylko wiersze w których występują określone ciągi znaków ale obawiam się że dla mnie to niewykonalne.

    Kod na którym się wzoruje:

    Kod: vb
    Zaloguj się, aby zobaczyć kod


    Z góry dziękuje i pozdrawiam
    Robert

    0 13
  • #2 17 Cze 2015 13:53
    -psiak-
    Poziom 32  

    Przecież są komentarze, rozkmiń jak działa i odpowiednio przerób.
    To VB.NET wersja konsolowa.

    0
  • #3 17 Cze 2015 14:22
    kinggustav
    Poziom 20  

    Do Excela wygodniej będzie ciągnąć makrem VBA. Ja bym to robił w takiej kolejności:
    1. Zrób sobie taką pętlę, która przebiega po wszystkich plikach o które ci chodzi. Przetestować. Możesz wypisać nazwy dla weryfikacji czy działa.
    2. Otwieraj każdy plik po kolei i czytaj w pętli do końca pliku. Przetestować na 1 pliku. Możesz teraz wypisać wiersze, żeby zobaczyć czy jest ok. Tu możesz pokombinować z filtrowaniem wierszy według dowolnego warunku.
    3. Najtrudniejsze, ale nie takie trudne: rozebrać wiersz na komórki i zapisanie wartosci gdzie trzeba. Nic nie musisz tu zapisywać do testu, wyniki widać w arkuszu.
    Do każdego zagadnienia możesz odszukać w internecie odpowiedni szablon, albo zarejestrować makro i je przerabiać.
    Mam nadzieję, że nie przekręciłem tego co chcesz mieć.

    0
  • #5 18 Cze 2015 12:57
    svrobert
    Poziom 8  

    Czy jest możliwe zmodyfikowanie makra aby kopiował do określonego wiersza?

    0
  • #6 18 Cze 2015 13:18
    marcinj12
    Poziom 40  

    svrobert napisał:
    Czy jest możliwe zmodyfikowanie makra aby kopiował do określonego wiersza?
    Tzn.? Dane z pliku txt ma kopiować maksymalnie do jakiegoś wiersza w pliku txt, czy dane mają być kopiowane do jakiegoś konkretnego wiersza w excelu?

    0
  • #7 25 Cze 2015 07:50
    svrobert
    Poziom 8  

    Opcję z wierszami darował bym sobie. Pojawił mi się kolejny problem. Przy importowaniu pliku bez zadeklarowanych warunków (powinien pobierać wszystkie linie) pojawia się błąd (Application-defined or object-defined error). W zakładce wyniki pojawiają mi się dane ale zauważyłem że są one importowane tylko do momentu w którym jest pusty wiersz (odstęp) w importowanym pliku txt.
    Np:
    Plik txt zawiera:
    a aa bcd ghh
    d ff ssa wda ww

    ee q ssdw dd
    s dd


    Wynik importowania tego pliku:
    a aa bcd ghh
    d ff ssa wda ww


    Być może uda Ci się rozwiązać ten problem?

    0
  • #8 26 Cze 2015 01:29
    marcinj12
    Poziom 40  

    Zmiany wymaga warunek rozbijający i pobierający linię. Powinien być taki:

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod

    0
  • #9 19 Lip 2015 10:01
    seba78787878
    Poziom 6  

    Witam
    A czy możliwe jest zaciąganie z pliku .txt wierszy jeśli spełniony jest warunek, taki np. że któraś z wartości w kolumnie w pliku .txt jest równa jakiejś określonej wartości. Potrzebuję zamienić bazę w accesie, która ma za dużą już wagę na bazę w pliku .txt. Na pewno pod względem wagi była by to mniejsza baza pod warunkiem, że można zaciągać wiersze z pliku .txt po wartości w jakiejkolwiek kolumny.

    0
  • #10 19 Lip 2015 10:10
    JRV
    Specjalista - VBA, Excel

    Pliki .txt z określonymi wierszami do excela Kwerenda do pliku .txt z parametrem Pliki .txt z określonymi wierszami do excela/v2007PL[mod=adamas_nt]

    0
  • #11 19 Lip 2015 18:17
    seba78787878
    Poziom 6  

    Dzięki za odpowiedź ale czy kwerenda pozwoli mi zaciągnąć np. wszystkie wiersze gdzie wartość w kolumnie nr 4 jest równa "2"? Mało się bawiłem kwerendą ale raczej nic takiego tam nie było.

    0
  • #12 19 Lip 2015 18:56
    JRV
    Specjalista - VBA, Excel

    MSQuery pozwala na ustawienie filtra dla importu danych.
    F1 w pomoc.

    0
  • #13 19 Lip 2015 20:27
    seba78787878
    Poziom 6  

    Potrzebowałbym jednak makro, które po wpisaniu wartości wyszukuje dane w kolumnie w pliku .txt jak już znajdzie to żeby zaciągał wiersza, gdzie podana wartość występuje. Tak zaciągam z Accessa do Exela. Chodzi mi o maksymalne uproszczenie, ponieważ osoby, które będą się tym zajmować nie mają na tyle wiedzy a i czas działania również się liczy.

    0