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

VBA Excel - wybór pliku zewnętrznego z danymi żródłowymi i odświeżenie danych

AlexA01 14 Maj 2016 14:08 759 4
  • #1 14 Maj 2016 14:08
    AlexA01
    Poziom 2  

    Cześć,

    Próbuje napisać kod, który umożliwiłby mi wybór pliku z danymi źródłowymi i który odświeżał by na podstawie tego pliku żródłowego wszystkie pivoty w pliku docelowym. Niestety jeszcze nie radze sobie z tym wystarczająco dobrze i nie jestem w stanie ukończyć kodu. Oto, co mam do tej pory:

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod


    Udało mi się stworzyć część która przy pomocy browser'a pozwoli wybrać i otworzy plik źródłowy.

    Mam też część odświeżająca tabele.
    Nie wiem jednak w jaki sposób sprawić, żeby otwarty wcześniej plik źródłowy wykorzystać jako źródło danych do wszystkich tabel w pliku docelowym (wszędzie będzie ten sam zakres danych).

    Będę wdzięczna za wszelką pomoc. Póki co nie bardzo radze sobie z makrami, które nie są zbudowane w oparciu o nagrywanie.

    0 4
  • #2 14 Maj 2016 16:03
    JRV
    Specjalista - VBA, Excel

    AlexA01 napisał:
    'Nazwapliku = ActiveWorkbook.Name - chyba nie potrzebne

    jest potrzebne, ponadto potrzebna nazwa arkusze i zakres
    Kod: vb
    Zaloguj się, aby zobaczyć kod

    jak arkusz ma ruzne nazwe:
    ark=activeWorkbook.Sheets(1).Name
    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0
  • #3 14 Maj 2016 17:18
    AlexA01
    Poziom 2  

    Próbuje dodać wskazane przez Ciebie elementy do kodu, ale nie do końca mi sięudaje. Kod obecnie wygląda tak:

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod

    Kod: actionscript
    Zaloguj się, aby zobaczyć kod


    Błąd pojawia się kiedy dochodze do elementu:
    Tabela.SourceData = "[" & Nazwapliku & "]" & ark & "!A:G"

    opis błędu: Application-defined or object-defined error
    zakres podałam, przez wskazanie kolumn, ponieważliczba wierszy będzie się zmieniać.
    Nie bardzo wiem, na czym polega błąd i czego może brakować do działania tego makra

    0
  • Pomocny post
    #4 14 Maj 2016 18:24
    JRV
    Specjalista - VBA, Excel

    ark = ActiveWorkbook.Sheets(1).Name
    trzeba bylo po
    Nazwapliku = ActiveWorkbook.Name

    Dodano po 1 [minuty]:

    myslalem ze to logicznie dojdziesz

    Dodano po 2 [minuty]:

    bo po
    ThisWorkbook.Worksheets(1).Activate
    bedzie nazwa pierwszej wkladki w pliku, w ktorzem makro

    0
  • #5 14 Maj 2016 19:35
    AlexA01
    Poziom 2  

    Dziękuje, potrzebuje jeszcze sporo praktyki zanim zrozumiem dokładniej logike programowania.

    0