Тёмный
No video :(

VBA #22 - Odświeżanie zapytań PowerQuery za pomocą VBA 

Excel.i Adam
Подписаться 21 тыс.
Просмотров 6 тыс.
50% 1

Zobacz kurs wideo Mistrz Excela
www.udemy.com/mistrz-excela/?...
Zobacz mój kurs o VBA: exceliadam.pl/makra-podstawy-vba
Szczegółowy opis filmu na stronie:
exceliadam.pl/excel-vba/odswie...
Pliki do pobrania na stronie:
exceliadam.pl/youtube
W tym wpisie chcemy napisać kod VBA, który odświeża wszystkie zapytania albo tylko pojedyncze zapytanie PowerQuery. Odświeżanie wszystkich zapytań jest prostsze, ponieważ możesz nagrać ten kod sam i później podpiąć go do przycisku.
Najpierw musimy włączyć rejestrowanie makr - polecenie Zarejestruj makro z karty Deweloper.
W oknie, które się otworzy
nadajesz nazwę makru (np.: Refresh), ewentualnie podpinasz skrót klawiszowy. To trochę bez sensu ponieważ polecenie odśwież wszystko z karty Dane (rys. 3) ma już przypisany do siebie skrót klawiszowy (Ctrl + Alt + F5). Upewniasz się, że makro zostanie zapisane do tego skoroszytu i naciskasz klawisz OK. Teraz ważne, żebyś nie klikał nigdzie w komórki arkusza, tylko od razu przeszedł do karty Dane i kliknął polecenie odśwież wszystko.

Опубликовано:

 

9 окт 2017

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 11   
@ukaszkalinowski4469
@ukaszkalinowski4469 2 года назад
Cześć Adam. Jak zawsze ciekawie prezentujesz nieoczywiste możliwości Excela. Ciekawi mnie jak rozwiązałbyś taki problem - masz folder z plikami CSV - dane z historii konta bankowego. Są zawsze skonstruowane w taki sam sposób ale zawierają dane z różnych okresów czasu. Jak spowodować by przy użyciu vba dane w arkuszu odświeżały się zgodnie z ustalonymi dla jednego z tych plików zapytaniami query ale z najnowszego pliku csv? Znalazłem opcję pobierania metadanych o najnowszym pliku csv ze wskazanego folderu ale nie wiem jak te metadane wykorzystać do skonstruowania dalszego kroku...
@ExceliAdam
@ExceliAdam 2 года назад
Nie czuję potrzeby używania VBA do wybrania najnowszego pliku. Jak pobierasz dane z folderu za pomocą PQ to masz na początku informacje o dacie powstania pliku, dacie modyfikacji. Informacji o pliku jest bardzo dużo trzeba rozwinąć odpowiednią kolumnę. Powinno wystarczy posortowanie po odpowiedniej dacie i zachowanie tylko pierwszego wiersza. Dopiero po tym rozwinąć plik.
@Baldur1005
@Baldur1005 5 лет назад
A macro może zaczekać na odświeżenie query przed wykonaniem dalszej części kodu? Czasami zaciągamy dane, które będą stanowić zmienne modelu.
@ExceliAdam
@ExceliAdam 5 лет назад
Masz w kodzie wideo część "BackgroundQuery:=False" właśnie on mówi o tym, że zapytanie Power Query nie może odświeżać się w tle, czyli VBA czeka, aż odświeżanie zapytania się skończy. To też można znaleźć głęboko we właściwościach zapytania - karta Dane -- grupa poleceń Połączenia -- Właściwości -- guzik/ikonka obok nazwy zapytania.
@Baldur1005
@Baldur1005 5 лет назад
Dzięki, wielkie :)
@ExceliAdam
@ExceliAdam 5 лет назад
@@Baldur1005 Proszę bardzo
@aqzdub
@aqzdub 6 лет назад
W wielu raportach używam tego sposobu na aktualizację tabel, ale w paru największych raportach, które ładują dane ze źródeł zewnętrznych jest problem, gdyż tabela przestawna nie czeka na załadowanie danych z zapytań PQ. Czy jest jakiś sposób by najpierw odświeżały się same zapytania PQ, a po ich aktualizacji dopiero odświeżała się tabela przestawna?
@AdamKopec84
@AdamKopec84 6 лет назад
Artur K zobacz wpis na stronie (link w opisie wideo) tam jest kod pętli która odświeża tylko zapytania PowerQuery. Pewnie da się znaleźć analogiczny, który później odświeży tabele przestawne
@aqzdub
@aqzdub 6 лет назад
Super, dzięki:-)
@mojezamczysko
@mojezamczysko 3 года назад
rozwiązaniem najprostszym problemu będzie w zapytaniach PQ wyłączenie ładowania danych w tle, które domyślnie jest włączone
@aqzdub
@aqzdub 2 года назад
@@mojezamczysko Tak, już to znalazłem i teraz jest OK. Dzięki:)