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

[VBa Excel] - Makro do scalania arkuszy z wielu skoroszytów

16 Kwi 2015 23:09 1719 15
  • Poziom 10  
    Witam.

    Ponownie potrzebuję pomocy. Tym razem potrzebne mi makro, które z danego folderu skopiuje i przeklei wszystkie arkusze do jednego pliku Excela.

    Kod na skopiowanie pojedyńczego, wybranego arkusza poniżej, ale jak zrobić to z całą grupą? Pętlą Do Until/For Each?

    Kod: vb
    Zaloguj się, aby zobaczyć kod


    Proszę o pomoc.
  • Specjalista - VBA, Excel
    Nazwy arkuszy może być powtarzane. Niech Excel sam zmienia?
  • Poziom 10  
    1. Każdy plik ma unikalną nazwę.
    2. W każdym pliku są 2 arkusze o nazwach (ORYGINAL i KOPIA).

    Chciałbym, żeby nazwa arkusza była taka sama jak pliku.

    Czyli dla pierwszego skoroszytu:
    Arkusz1 = nazwa pliku
    Arkusz 2 = nazwa pliku(2) lub nazwa pliku(K)
  • Pomocny post
    Specjalista - VBA, Excel
    Cos takiego
    Kod: vb
    Zaloguj się, aby zobaczyć kod
  • Poziom 10  
    Super. Tylko niestety wyskakuje jeszcze błąd z tą samą nazwą arkusza, więc fajnie by było jakby te arkusze się same numerowały - (1), (2) itd.

    Ponadto nie za bardzo wiem jak wybrać zbiorczo pliki do konsolidacji. Możliwe jest tylko wybranie 1 pliku na raz.
  • Pomocny post
    Specjalista - VBA, Excel
    Glief napisał:
    wyskakuje jeszcze błąd z tą samą nazwą arkusza

    W Skoroszyt zawierający makra zostawić tylko jeden arkusz i dać mu jakiś unikatową nazwę(ale Excel, sam zmienia nazwę (dodaje (2)), a następnie zmiany nazwy na nazwę skoroszytu)
    Chcesz wybrać pliki indywidualnie?
    Wtedy
    Kod: vb
    Zaloguj się, aby zobaczyć kod
  • Poziom 10  
    Zrobiłem tak, ale dalej ten sam błąd.

    [VBa Excel] - Makro do scalania arkuszy z wielu skoroszytów

    Przy wyborze kolejnego pliku pojawia się kolejny błąd, tym razem dotyczący zdublowanej nazwy. Obrazek w załączniku.

    Co do wyboru arkuszy, chciałbym żeby można je było zaznaczyć zbiorczo (ctrl+a?) lub ewentualnie pętlę, która po kolei włącza i konsoliduje?

    Dziękuję.
  • Specjalista - VBA, Excel
    Glief napisał:
    chciałbym żeby można je było zaznaczyć zbiorczo (ctrl+a?)

    Makro w post #4. Wybor jednego tylko dla prejscia do wymaganego folderzu.
    Nastepnie Dir po koleji otwiera wszystkie, co jest w foldere.
    Jutro pomysle, dlaczego błąd
  • Pomocny post
    Poziom 34  
    Pozwolę sobie wtrącić swoje 3 grosze.;)

    Kod: vb
    Zaloguj się, aby zobaczyć kod
  • Specjalista - VBA, Excel
    Testowalem #4. Wszystko graje.
    Nie rozumiem, dlaczego wystąpił błąd. Do testowania utworzone w tym samym folderze 5 identycznych plików z nazwami zbior1.xls, zbior2.xls, zbior3.xls, zbior4.xls, zbior5.xls.
    Uruchamianie makra.
    [VBa Excel] - Makro do scalania arkuszy z wielu skoroszytów
    Test na XL2003 i XL2007 - identycznie

    Dodano po 17 [minuty]:

    PRL napisał:
    SN = Mid(Plik, 1, InStrRev(Plik, ".") - 1)

    Co jak będzie test.xlsx, test.xlsm, test.xlsb ?

    :arrow: Glief Zaznacz a wklej tekst makra. Prawdopodobnie popełnił błąd w tekście
  • Poziom 10  
    Dziwne. Testuję to cały czas.

    Na innym portalu znalazłem takie coś i działa to super, ale wkleja mi tylko do jednego arkusza.

    Generalnie sprawa się troszkę uprościła, bo potrzebuję tylko zawsze pierwszego arkusza z danego pliku w folderze.

    Ta opcja z zaznaczeniem tego folderu jest świetna. Można ją tu wykorzystać?


    Kod: vbnet
    Zaloguj się, aby zobaczyć kod
  • Specjalista - VBA, Excel
    A może w jednej książce uruchomiony więcej niż jeden raz moje makro?
    Wtedy wystąpi błąd
    Najlepszy skoroszyt z jednym arkusz.
  • Poziom 34  
    Cytat:
    Co jak będzie test.xlsx, test.xlsm, test.xlsb ?


    Masz rację JRV. Chciałem, żeby ładnie wyglądało.:)
  • Pomocny post
    Specjalista - VBA, Excel
    Sprobuj to
    Kod: vb
    Zaloguj się, aby zobaczyć kod
  • Poziom 10  
    Update

    Wszystko już działa. Problem wynikał z ograniczenia ilości znaków (do 31) w 1 zakładce jako nazwie.

    Bardzo dziękuję. Świetna robota!
  • Specjalista - VBA, Excel
    Jak to wszystko ładnie w DOS ;) 8.3 ;)