X

Excel - pobieranie danych z innych plików.

02 Aug 2009 10:33 MImicamic
  • #1 02 Aug 2009 10:33
    micamic
    Level 2  
    Helpful post? (0)
    Witam,

    Potrzebuję pobierać do mojego arkusza dużo danych innych arkuszy i chcę to zautomatyzować. Arkusze to : Zeszyt_nr1.xls, Zeszyt_nr2.xls, Zeszyt_nr3.xls itd

    czy można wstawić do nazwy pliku w ścieżce odwołania zmienną ?

    np.
    ='[Zeszyt_nr zmienna .xls]Arkusz1'!$A$1

    Jak to napisać bo jestem już zmęczony przeciąganiem komórek i robieniem tego na piechotę :|
  • Helpful post
    #2 02 Aug 2009 12:59
    adamas_nt
    Moderator Programowanie
    Helpful post? (0)
    Nazwy obiektów są typu String, więc wystarczy "poskładać" Np makrem:
    Range("C3")=Workbooks("Zeszyt_Nr" & zmienna & ".xls").Sheets("Arkusz1").Range("A1")
    Plik musi być otwarty.

    Lub formułą w arkuszu:
    =ADR.POŚR(ZŁĄCZ.TEKSTY("'[!Zeszyt_Nr";C1;".xls]Arkusz1'!$A$1"))
    Gdzie Nr wpisany jest w komórce C1 (tu również plik musi być otwarty).

    Możesz dodać łacza do plików w referencjach (edytor VB) i wtedy mogą być zamknięte dla obu przypadków.
  • #3 02 Aug 2009 14:37
    micamic
    Level 2  
    Topic author Helpful post? (0)
    Rewelacja !
    Wiele godzin szukałem pomocy na microsoft.support a tu nagle rozwiązanie tak szybko. Wielkie dzięki.
  • #4 05 Dec 2013 18:32
    noonka
    Level 7  
    Helpful post? (0)
    Witam,

    przygotowuję makro, które kopiuje określone wiersze z wielu plików xls i zapisuje je do jednego arkusza tworząc swojego rodzaju bazę. Niestety nie jestem zbyt zaawansowana jeśli chodzi o VBA, wiec moja metoda jest dość chałupnicza:(
    najpierw podaję nazwę pliku Excel go otwiera ale problem polega na tym, że kopiując wartości z pliku źródłowego konieczne jest wprowadzanie nazwy jeszcze raz, chociaż teoretycznie jest tam podana zmienna, która powinna te nazwę przechowywać. Najgorsze w tym wszystkim jest to, że w często wartości odpowiadające danym z kilku arkuszy się "ujednolicają" i tym sposobem wszystkie wartości w arkuszu są takie same:(

    Code: vb
    Log in, to see the code


    chciałabym prosić o pomoc w kwestii usprawnienia kopiowania i zabezpieczenia wartości przed "ujednolicaniem".

    z góry dziękuję za pomoc:)
  • #5 05 Dec 2013 22:01
    JRV
    Level 36  
    Helpful post? (0)
    Witam
    noonka wrote:
    pliczek = "plik" & ".xls"
    - Dlaczego 'plik' w cudzysłowie jeśli
    noonka wrote:
    plik = InputBox("podaj nazwę pliku źródowego:")

    należy uważnie przeczytać post 2 w tym względzie:
    noonka wrote:
    "=IF([pliczek]YR_reports!R29C13="""","""",[pliczek]YR_reports!R29C13)"

    chce być "=IF([" & pliczek & "]YR_reports!R29C13="""","""",[" & pliczek & "]YR_reports!R29C13)"
  • #6 06 Dec 2013 10:05
    noonka
    Level 7  
    Helpful post? (0)
    bardzo dziękuję za pomoc - działa jak należy:)

    kombinowałam z konkatenacją w formule, ale źle wstawiałam cudzysłowy:)

    Pozdrawiam i życzę miłego dnia:)
Mouser  Search 4 million + Products
Browse Products