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.

[excel VBA] import kolumn z dwóch plików xls podział kolumny

magicznylas 22 Lip 2010 17:28 3224 6
  • #1 22 Lip 2010 17:28
    magicznylas
    Poziom 8  

    Witam wszystkich.
    Jako kompletnie zielony w materii tworzenia makr, VBA ect. zwracam się z prośbą o pomoc.

    Dysponuję dwoma plikami wejściowymi xls z takim samym układem kolumn (plik w załączeniu - mogą różnić się ilością wierszy) np DANE1.xls i DANE2.xls.
    Następnie potrzebuję skopiować/importować zawartość kolumn z pliku DANE1.xls ( poczynając od wiersza 5 ), a następnie z pliku DANE2.xls tak aby wkleiły się pod spodem tych pierwszych.

    Drugą czynnością jest podział zawartości kolumny B na kolejne zawierające osobno treść aaaaaaaa, bbbbbbbb ( lub bbbbbbb bbbbb ), 1111, 2222 z uwzględnieniem usunięcia znaku "/".

    Liczę na szybką i fachową pomoc ;) i z góry bardzo dziękuję, no i dużo cienia życzę.

    0 6
  • #2 23 Lip 2010 09:14
    walek33
    Poziom 28  

    Rozumiem, że zawartość kolumny B ma być podzielona na segmenty, które określają spacje? Czy ilość takich segmentów jest określona, czy może się zmieniać? Z przykładowego pliku przy takim podziale jw. wnioskuję, że z kolumny B powstanie max. 4 kolumny. Dodatkowe kolumny mają być dodawane do arkusza, czy mogą być wcześniej przydzielone? Znak / ma być usuwany, czy zamieniany na inny? Z segmentu z tym znakiem ma być tworzona jedna kolumna? To tak na początek dla ułatwienia. :D

    0
  • #3 23 Lip 2010 16:26
    magicznylas
    Poziom 8  

    Ilość segmentów ma być stała, maksymalnie cztery.
    Może inaczej. W tabeli B znajduje się adres: część A to miasto, B to ulica - jak wiadomo nazwa ulicy może składać się z jednego, dwóch lub więcej wyrazów, następnie jest numer domu, w następnej kolejności nr mieszkania.
    Reasumując z powyższych segmentów powinny powstać 4 kolumny.
    Kolumny mogą być wcześniej przydzielone, znak / usunięty .
    Dodam jeszcze, że ilość wierszy w kolumnach może być różna.

    0
  • #4 23 Lip 2010 17:14
    adamas_nt
    Moderator Programowanie

    Hmm
    Nowy Tomyśl Jana z Kolna 1/2
    czy
    Nowy Tomyśl, Jana z Kolna 1/2
    bo to istotna różnica.

    Co w przypadku:
    Nowe Miasto Kujawskie ul. Sierotki Marysi i Siedmiu Krasnoludków 1/2?

    Jeżeli w ciągu występują: "ul." "Ulica", "Osiedle" lub coś podobnego to też napisz. Każdy taki szczegół może być kluczowy...

    0
  • #5 23 Lip 2010 18:18
    magicznylas
    Poziom 8  

    Część A czyli miasto będzie niezmienne w każdym przypadku, załóżmy Warszawa.
    Nie znajda się, także "ul." "Ulica", "Osiedle", ani też znaki przystankowe.
    Dokładnie wygląda to tak:

    Code:
    WARSZAWA JANA Z KOLNA 1/2
    
    WARSZAWA JANA Z KOLNA 11
    WARSZAWA JANA Z KOLNA 11A
    WARSZAWA JANA Z KOLNA 11A/2

    0
  • Pomocny post
    #6 24 Lip 2010 07:37
    adamas_nt
    Moderator Programowanie

    Moja propozycja:

    1. Najprościej byłoby zastosować formuły w arkuszach źródłowych, następnie przez: kopiuj > wklej specjalnie > wartości -umieścić wyniki w arkuszu docelowym i usunąć pierwszą kolumnę (Arkusz3 załącznika). Lub inaczej: kopiowanie kolumny źródłowej, wstawienie formuł, kopiuj-wklej specjalnie.

    2. Zastosowałem wbudowane formuły łańcuchowe Excela. W Arkuszu1 z dwoma kolumnami pomocniczymi (C i E) , z których można oczywiście zrezygnować podstawiając ich funkcje w odpowiadające im odwołania w kolumnach D i F (Arkusz2). Gotowe wyglądają trochę skomplikowanie, więc dla przeanalizowania zostawiam wszystko w załączonym pliku.

    W przypadku błędnych wyników należy usunąć spacje początkowe i końcowe, oraz podwójne wewnątrz łańcucha.

    0
  • #7 25 Lip 2010 12:15
    magicznylas
    Poziom 8  

    Genialne! Bardzo dziękuję za pomoc.

    0
  Szukaj w 5mln produktów