logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak stworzyć makro VBA do kopiowania danych z Excela DEC do 20 plików?

abcde1234567 02 Sty 2019 19:59 495 3
REKLAMA
  • #1 17671008
    abcde1234567
    Poziom 6  
    Posty: 18
    Cześć.
    Na początku chciałbym poinformować,że nie dawno odkryłem VBA czy tow Excelu czy Wordzie. Tym samym jestem zielony w tym temacie. Pocieszam się tylko tym że nie na wszystkim muszę się znać. Jak domyślacie na VBA nie znam się w ogóle :cry: .
    W związku z powyższym do osób które znają w tym temacie mam gorącą prośbę.
    Potrzebuję makra,które będzie kopiowało dane z pliku o nazwie "DEC" z arkusza o nazwie "DEC",do 20 plików Excela(nazwy imiennie z końcówka xlsm"),nie ważne czy te pliki są otwarte czy też zamknięte, do pierwszego wolnego wiersza w tych plikach imiennych. Nazwa arkusza w tych że plikach jest też "DEC". Piliki imienne są w tym samym folderze, a w pod folderze(DEC1) jest plik "dec".

    Zamieszczam przykładowy wzór plikówo nazwach "DEC.xlsx" z którego będzie kopiowanie i jeden plik imienny "Asia.xlsm". W pliku imiennym (przykładowym)-"ASIA" nie ma makra w rzeczywistości są(odpowiadają za co inne).
    Załączniki:
    • asia.xslm.rar (7.08 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • dec.xlsx (9.48 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #2 17671510
    abcde1234567
    Poziom 6  
    Posty: 18
    W tą stronę nie mogę znaleźć żadnego kodu :arrow: . Kopiowanie z wielu do jednego jest, ale odwrotnie już nie :cry: Wzór pewnie nie wiele by mi powiedział ale może osobie/osobą z tego forum pomógłby z moim problemem :D
  • REKLAMA
  • #3 17672055
    adamas_nt
    VIP Zasłużony dla elektroda
    Posty: 5320
    Pomógł: 1508
    Ocena: 658
    abcde1234567 napisał:
    chciałbym poinformować,że nie dawno odkryłem VBA
    Hmm... Skoro odkryłeś, może warto nauczyć się go wykorzystywać?

    Do rozwiązania swojego zadania potrzebujesz kilku rzeczy:
    1. Określić nazwę folderu nadrzędnego. Tu można wykorzystać FileSystemObject, Np
    Kod: VBScript
    Zaloguj się, aby zobaczyć kod

    2. Pętla z wykorzystaniem funkcji Dir, wyszukująca pliki Excel'a, w której będzie się działo co dusza zapragnie (Tzn co Ty sobie życzysz)
    Kod: VBScript
    Zaloguj się, aby zobaczyć kod

    Kilka innych spraw, które albo masz we wzorze, albo można nagrać rejestratorem lub wyszukać na forum:
    -ostatni wiersz w kolumnie
    -kopiowanie
    -zapisanie pliku
    -zamykanie pliku po kopiowaniu (tu można "zapamiętać" stan w zmiennej i zamykać tylko te, które otwarte nie były) z opcją 'SaveChanges:=True, aby pominąć poprzedni krok.

    To naprawdę nic skomplikowanego. Wcześniej serdecznię radzę poświęcić z godzinkę, aby "otrzaskać się" z podstawami: Link
  • #4 17672189
    abcde1234567
    Poziom 6  
    Posty: 18
    adamas_nt wielkie dzieki :D :D :D :D :D :D :D :D :D :D :D :D :D :D .

    Mam problem nie wiem jak to ugryś pod siebie.
    ścieżka gdzie jest plik z którego kopiowane są dane:

    C:\Users\koziel.marek\Desktop\DEC\DEC_1

    ścieżka gdzie są pliki w które ma być skopiowane dane:

    C:\Users\koziel.marek\Desktop\DEC

    Wiem że jestem okrutny, że oczekuje gotowca, ale na prawdę nie wiem jak mam to wszystko połączyć aby zadziałało
REKLAMA