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, otwieranie innych plików excela w różnych arkuszach pliku bazowego.

23 Lip 2018 09:35 462 9
  • Poziom 7  
    Cześć,
    od jakiegoś czasu szukam rozwiązania mojego problemu. I zastanawiam się czy jest możliwe przy użyciu arkusza excel, stworzenie pliku bazowego, w którym będzie możliwe wybranie innych plików excel ( kilku naraz) i otwieranie ich w osobnych arkuszach pliku bazowego. Te pliki które mają być otwierane mają zawsze tą samą strukturę w postaci raportu. Czy jest możliwe stworzenie takiego narzędzia? Jeżeli tak to czy mogę liczyć na jakąś pomoc? Sam osobiście nie bardzo znam się na makrach więc nie jestem w stanie tego napisać na dzień dzisiejszy.
  • Poziom 34  
    Artur1992pl napisał:
    Te pliki które mają być otwierane mają zawsze tą samą strukturę


    Jeśli tak to wystarczy przygotować w pliku bazowym (rozumiem zbiorczym) odpowiednie arkusze (np. dla raportowanych okresów), które będą połączone z plikami źródłowymi :idea: Każda zmiana w arkuszu źródłowym będzie automatycznie odwzorowana w arkuszu pliku bazowego :D
  • Poziom 7  
    Tylko te pliki, które będę chciał wgrywać do pliku bazowego będą zawsze inne, tzn. będą się różniły nazwą, dlatego chciałbym coś takiego, żeby były ręcznie wybierane ilości plików które mają się pojawić w osobnych arkuszach pliku bazowego.
  • Poziom 7  
    Mój zamysł był taki, aby pierwszy arkusz zawierał przycisk po którego wyborze wyskoczy okienko, w którym będzie można wybrać pliki excela z dysku komputera, które następnie zostaną wczytane do arkuszy nazwanych raport 1 do 10, oddzielnie jeden raport do jednego arkusza.. Jeżeli udało by mi się uzyskać takie coś, to już ostatni arkusz nazwany zbiorczy mam przygotowany, który będzie pobierał wartości z poszczególnych komórek i przenosił do zbiorczej tabeli. Nie posiadam aktualnie przykładu takiego raportu, ale zawiera nazwę parametru i wartość wypisane jeden pod drugim.
  • Pomocny post
    Poziom 34  
    Artur1992pl napisał:
    pierwszy arkusz zawierał przycisk po którego wyborze wyskoczy okienko, w którym będzie można wybrać pliki excela z dysku komputera


    Efekt taki uzyskasz przypisując do swojego przycisku np kod typu:
    Kod: vbscript
    Zaloguj się, aby zobaczyć kod


    Artur1992pl napisał:
    Nie posiadam aktualnie przykładu takiego raportu

    :cry:
    W zależności od struktury i typu wartości zawartch w tych raportach po uchwyceniu w powyższej procedurze właściwego pliku źródłowego możesz skopiować albo cały arkusz, albo wybrane dane :spoko:
  • Poziom 7  
    rozumiem że to tylko część makra? a reszte muszę dorobić? coś tam jutro z tym pokombinuję bo jak narazie nie zadziałało.
  • Pomocny post
    Poziom 34  
    Artur1992pl napisał:
    rozumiem że to tylko część makra?

    Oczywiście, to tylko fragment kodu, który wykonuje jedynie to co napisałem
    Cytat:
    wyskoczy okienko, w którym będzie można wybrać pliki excela z dysku komputera

    Po wyborze konkretnego pliku :D możesz kopiować całe arkusze lub wybrane dane do swego pliku zbiorczego. Ta część makra uzależniona jest od specyfiki plików źródłowych i możesz ją utworzyć (lub nagrać) jak już będziesz miał przykłady raportów :ok:
  • Poziom 7  
    Mam coś takiego, działa umozliwia mi wybranie jednego pliku i wstawienie w aktywnym arkuszu. Jakaś podpowiedź co dodać żebym mógł wybierać kilka plików i zostały otwarte w osobnych arkuszach?

    Code:
    Sub OpenCloseWorkbook()
    
    Dim MonthlyWB As Variant
    Dim FileName As String
     
    MonthlyWB = Application.GetOpenFilename( _
    FileFilter:="Microsoft Excel Workbooks, *.xls; *.xlsx; *.xlsm", Title:="Open Production Report")
     
    Workbooks.Open MonthlyWB
    FileName = ActiveWorkbook.Name

    Range("A:BL").Select
    Selection.Copy
    ThisWorkbook.Activate
    Range("A1").Activate
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
    Application.CutCopyMode = False
    Workbooks(FileName).Close SaveChanges:=False
    End Sub
    [/align][/film][/syntax] [/code]
  • Poziom 34  
    Artur1992pl napisał:
    Jakaś podpowiedź co dodać żebym mógł wybierać kilka plików :?: i zostały otwarte w osobnych arkuszach :?: ?

    Celowo wspomniałem Ci o nagrywaniu makra bo wtedy musisz całą procedurę przeprowadzić "manualnie" i przemyśleć dokładnie co chcesz zrobić i jaki efekt chcesz osiągnąć :?:

    Otwieranie pojedyńczych plików i otwieranie kilku plików wymaga odmiennego kodu :!: Podobnie nie jest tożsame otwieranie pliku i "otwieranie" arkusza, oraz kopiowanie arkusza i kopiowanie danych z arkusza :cunning:

    Cytat:
    Mam coś takiego, działa
    :?: to przeleć dwa razy to makro i zobacz co Ci zostanie w pliku "bazowym" ? - taki był zamierzony efekt :?: