Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Excel 2010 VBA Kopiowanie konkretnych komórek do innych arkuszy

05 Sie 2014 08:44 3936 33
  • Poziom 6  
    Witam

    Mam pewien problem.

    Potrzebuje skopiować zakres danych (D3, C7:C32, F7:F32) do tych samych adresów, do innego skoroszytu, ale do arkusza o tej samej nazwie. Arkuszy jest około 100 - 150 Czy jest coś takiego możliwe?
  • Specjalista - VBA, Excel
    alkofil napisał:
    Arkuszy jest około 100 - 150

    Trzeba skopiować wiele arkuszy, lub po prostu wśród nich znaleźć arkusza o tej samej nazwie?
  • Poziom 6  
    Nie trzeba kopiować arkuszy tylko poszczególne adresy pomiędzy arkuszami o tej samej nazwie znajdujących się w innych skoroszytach tzn
    Musze przekopiować np komórkę D3 z arkusza A-25-02 ze skoroszytu 01.YY do skoroszytu 43.01 do arkusza A-25-02 do komórki D3

    Mam nadzieję że wyjaśniłem.
  • Pomocny post
    Specjalista - VBA, Excel
    na przykład, tak:
    Kod: vb
    Zaloguj się, aby zobaczyć kod
  • Poziom 6  
    Niestety w dalszym ciągu wyświetla mi sie informacja o tym, że nie można znaleźć pliku 43.01, mimo ze jest w ym samym folderze i jest otwarty.
  • Poziom 6  
    Działa.. ale tylko jeden (mam tych plików od 43_01 do 43_13.

    Niestety po zmianie adresu na 43_02.xls zwraca tylko puste komórki.

    Ale pierwsze punkty już lecą, dzięki!
  • Specjalista - VBA, Excel
    Zobacz, jak źle jest, kiedy po raz pierwszy nie dokładnie opisać wszystko sytuacji.
    alkofil napisał:
    do innego skoroszytu, ale do arkusza o tej samej nazwie. Arkuszy jest około 100 - 150
    alkofil napisał:
    I tak dla każdego arkusza.
    alkofil napisał:
    mam tych plików od 43_01 do 43_13.

    43.01 czy 43_01 ?
    Jeśli wiadomo było od początku, wszystko byłoby znacznie więcej
    Kod: vb
    Zaloguj się, aby zobaczyć kod
  • Poziom 6  
    kolega clubs polecił żeby było 43_01 itd.
    Plików (skoroszytów) mam 13 od 43_01 do 43_13 w kazdym około 100 - 150 arkuszy
  • Poziom 34  
    alkofil napisał:
    kolega clubs polecił żeby było 43_01 itd.

    hehe nic nie polecałem tylko widzę że załącznik który dałeś wcześniej ma nazwę 43_01.xls
    ale widzę że temat już rozwiązany
    pozdrawiam
  • Poziom 2  
    witam

    Jak w temacie problem z kopiowaniem.
    Mam plik excela w którym gromadzę dane. Potrzebuję w jakiś sposób pobrać dane z innych plików excela, których nie chcę za każdym razem otwierać(gdyż będzie ich dużo). Np. w kolumnie A mamy nazwy plików i potrzebne jest aby w kolumnie B były wartości z określonych plików z kolumny A. Gdyby wszystko było w jednym pliku to formuła wyszukaj.pionowo załatwiła by sprawę, tu niestety nie damy rady. funkcja Adr.pośr też nie załatwia sprawy ponieważ koniczna jest aktualizacja wartości w postaci otwierania każdego pliku.
    Proszę o pomoc
  • Poziom 6  
    clubs napisał:
    alkofil napisał:
    kolega clubs polecił żeby było 43_01 itd.

    hehe nic nie polecałem tylko widzę że załącznik który dałeś wcześniej ma nazwę 43_01.xls
    ale widzę że temat już rozwiązany
    pozdrawiam


    Tak naprawdę to system system na forum zmienił . na _

    Ale temat dalej otwarty bo nie mogę uruchomić makra na innych plikach tj 43_02, 43_03. Zmiana w kodzie nic nie zmienia.
  • Specjalista - VBA, Excel
    alkofil napisał:
    nie mogę uruchomić makra na innych plikach

    Ten raz ja juz nic nie rozumiem.
    Makro tylko w jednom - 01_YY_-_Kopia.xls(makro w post #10)
    Otwarza po kolei 13 plikow
  • Poziom 6  
    Nie dogadamy się;)
    clubs czy możesz zrobić analogiczne jak do tamtego pliku tylko, żeby dane zapisywały się
    z 02.YY do 43_02
    z 03.YY do 43_03
    ...
    aż do
    z 13.YY do 43_13?

    Albo wskaż który parametr trzeba zmienić żeby działało

    Dzięki!
  • Specjalista - VBA, Excel
    Wreszcie stało się jasne
    Kod: vb
    Zaloguj się, aby zobaczyć kod
  • Poziom 6  
    JRV Twój kod nie znajduje pliku do otwarcia
  • Specjalista - VBA, Excel
    Zamień
    Set wb = Workbooks.Open("43_" & pref & ".xls")
    na
    Set wb = Workbooks.Open(ThisWorkbook.Path & "\" & "43_" & pref & ".xls")
  • Poziom 34  
    kolega zapomniał o

    Kod: vb
    Zaloguj się, aby zobaczyć kod


    Dodano po 3 [minuty]:

    staseba napisał:
    witam

    Jak w temacie problem z kopiowaniem.
    Mam plik excela w którym gromadzę dane. Potrzebuję w jakiś sposób pobrać dane z innych plików excela, których nie chcę za każdym razem otwierać(gdyż będzie ich dużo). Np. w kolumnie A mamy nazwy plików i potrzebne jest aby w kolumnie B były wartości z określonych plików z kolumny A. Gdyby wszystko było w jednym pliku to formuła wyszukaj.pionowo załatwiła by sprawę, tu niestety nie damy rady. funkcja Adr.pośr też nie załatwia sprawy ponieważ koniczna jest aktualizacja wartości w postaci otwierania każdego pliku.
    Proszę o pomoc


    jest możliwość użycia wyszukaj.pionowo z zamkniętych skoroszytów funkcja indirect.ext
  • Poziom 6  
    Niestety dalej zapisuje tylko z 01.YY do 43_01.
    Następnie otwiera 43_02 i koniec

    Dodano po 2 [minuty]:

    W plikach 43_02, 43_03... itd makro tylko je otwiera.
  • Pomocny post
    Poziom 34  
    alkofil napisał:
    Niestety dalej zapisuje tylko z 01.YY do 43_01.
    Następnie otwiera 43_02 i koniec

    Dodano po 2 [minuty]:

    W plikach 43_02, 43_03... itd makro tylko je otwiera.


    makro musisz mieć umieszczone w każdym z plików 01.YY , 02.YY itp
  • Specjalista - VBA, Excel
    W 02.YY jest makro post #20 ?
  • Poziom 6  
    clubs napisał:
    kolega zapomniał o

    Kod: vb
    Zaloguj się, aby zobaczyć kod



    Użyłem tego makra we wszystkich od 01.YY do 13.YY i tylko pierwszy skopiował dane. W załączniku przesyłam cały plik, może będzie łatwiej rozwiązać zagadkę

    Już z tego miejsca pragnę bardzo podziękować za pomoc, ale chciałbym sprawę doprowadzić do końca.
  • Specjalista - VBA, Excel
    he-he... tam juz nie A-.. (B-, C-, D- ) - tutaj "zagadkę
    "

    Dodano po 49 [sekundy]:

    JRV napisał:
    Zobacz, jak źle jest, kiedy po raz pierwszy nie dokładnie opisać wszystko sytuacji.


    Tu jest
    Kod: vb
    Zaloguj się, aby zobaczyć kod
  • Pomocny post
    Poziom 34  
    alkofil napisał:

    Użyłem tego makra we wszystkich od 01.YY do 13.YY i tylko pierwszy skopiował dane. W załączniku przesyłam cały plik, może będzie łatwiej rozwiązać zagadkę

    Już z tego miejsca pragnę bardzo podziękować za pomoc, ale chciałbym sprawę doprowadzić do końca.


    tak czy siak nie we wszystkich skoroszytach ci to zadziała musisz trzymać się jednej nazwy arkuszy bo np w 08.YY.xls nazwa arkusza jest już bez "-"

    zobacz tak zmień na
    If ark Like "*" Then
  • Pomocny post
    Specjalista - VBA, Excel
    Jeśli istnieje tylko arkusza danych, nie trzeba If .... End If, inaczej co najmniej
    If ark Like "[A-M]*" Then

    p.s. If ark Like "*" Then nic nie daje
  • Poziom 6  
    Panowie!!

    Udało się! Niezmiernie dziękuje za pomoc!


    A dzięki temu...
    clubs napisał:

    zobacz tak zmień na
    If ark Like "*" Then


    nie wyrzuciłem monitora za okno bo się zaczęło pod koniec sypać;)

    Jeszcze raz dziękuję.
  • Poziom 2  
    clubs napisał:
    kolega zapomniał o

    Kod: vb
    Zaloguj się, aby zobaczyć kod


    Dodano po 3 [minuty]:

    staseba napisał:
    witam

    Jak w temacie problem z kopiowaniem.
    Mam plik excela w którym gromadzę dane. Potrzebuję w jakiś sposób pobrać dane z innych plików excela, których nie chcę za każdym razem otwierać(gdyż będzie ich dużo). Np. w kolumnie A mamy nazwy plików i potrzebne jest aby w kolumnie B były wartości z określonych plików z kolumny A. Gdyby wszystko było w jednym pliku to formuła wyszukaj.pionowo załatwiła by sprawę, tu niestety nie damy rady. funkcja Adr.pośr też nie załatwia sprawy ponieważ koniczna jest aktualizacja wartości w postaci otwierania każdego pliku.
    Proszę o pomoc


    jest możliwość użycia wyszukaj.pionowo z zamkniętych skoroszytów funkcja indirect.ext


    niestety nie działa. Myślę że tu jakieś makro jest potrzebne aby aktualizowało plik przy każdym otwarciu.
  • Poziom 34  
    staseba napisał:

    niestety nie działa. Myślę że tu jakieś makro jest potrzebne aby aktualizowało plik przy każdym otwarciu.


    działa działa bo sam sprawdzałem musisz doinstalować dodatek morefunc jakiego excela używasz?