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.

Excel - pobieranie danych z innych plików.

micamic 02 Aug 2009 10:33 5524 5
  • #1
    micamic
    Level 2  
    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
    adamas_nt
    Moderator of Programming
    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
    micamic
    Level 2  
    Rewelacja !
    Wiele godzin szukałem pomocy na microsoft.support a tu nagle rozwiązanie tak szybko. Wielkie dzięki.
  • #4
    noonka
    Level 9  
    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
    JRV
    VBA, Excel specialist
    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
    noonka
    Level 9  
    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:)