Automatyzacja Excela: VBA, Power Query, TypeScript

Power Query
Microsoft Office
Excel

Czy zdarza Ci się tracić godziny na kopiowanie danych między arkuszami, poprawianie tych samych błędów co miesiąc lub ręczne aktualizowanie raportów? Jeśli tak, to znak, że potrzebujesz automatyzacji w Excelu.
Dobra wiadomość: Excel 365 oferuje trzy główne ścieżki automatyzacji — VBA, Power Query in Excel oraz TypeScript (Office Scripts). Potrafią one odjąć nawet 80% ręcznej pracy i robią to naprawdę solidnie.

W tym poradniku porównamy Power Query in Excel, VBA oraz TypeScript. Dowiesz się:

  • które narzędzie wybrać,
  • jak zacząć krok po kroku,
  • co kliknąć,
  • i jak uniknąć typowych wpadek.

Wszystko prosto, po ludzku, „klik po kliku”.

Którą metodę wybrać?

  • Power Query – gdy chcesz pobierać, łączyć i porządkować dane (CSV, Excel, Internet, foldery). Minimum kodu, maksimum automatyzacji danych.
  • VBA (makra Excel) – gdy potrzebujesz „dotknąć arkusza”: sformatować komórki, stworzyć raport wynikowy, zapisać PDF, podpiąć przyciski lub zbudować formularze VBA (VBA form Excel).
  • TypeScript / Office Scripts – gdy działasz w Excelu w przeglądarce (Excel Online / Excel 365) i chcesz używać harmonogramów lub automatyzacji w chmurze (Power Automate).

Power Query: ETL bez kodu

Jeśli przeraża Cię myśl o pisaniu jakiegokolwiek kodu, Power Query in Excel będzie Twoim najlepszym przyjacielem.
Power Query to moduł wbudowany w Excel (karta Dane) dostępny w Excel 365 i Excel desktop.

Jest to wizualne narzędzie ETL, które działa jak nagrywarka operacji dla tabel. Power Query in Excel pozwala:

  • łączyć pliki,
  • czyścić dane,
  • przekształcać je kliknięciami w interfejsie.

Każdy krok zapisywany jest w zapytaniu języka M. Raz konfigurujesz — potem tylko Odśwież i gotowe.

Kiedy używać Power Query in Excel?

  • Gdy regularnie dostajesz pliki o tej samej strukturze (np. miesięczne raporty sprzedaży).
  • Kiedy musisz scalić wiele tabel w jedną.
  • Gdy chcesz oczyścić i ustandaryzować dane przed analizą.

Plusy: brak kodowania, intuicyjność, idealny do ETL w Excelu.
Minusy: ograniczony do transformacji danych; Power Query nie zastąpi VBA przy formatowaniu, wysyłce maili czy PDF.

Pierwsza automatyzacja – łączenie plików z folderu krok po kroku

  1. Otwórz pusty plik → Dane → Pobierz dane → Z pliku → Z folderu.
  2. Wskaż katalog z plikami → Połącz → Łączenie i przekształcanie danych.
  3. W oknie Połącz pliki wybierz przykładowy plik, przykładowy arkusz i wciśnij OK.
  4. W edytorze Power Query możesz wykonać dowolne operacje, które będą powtarzane przy każdym odświeżeniu zapytania. Np. możesz usunąć zbędne kolumny (Usuń kolumny).
  5. Kliknij Zamknij i załaduj. W arkuszu pojawi się gotowa tabela.
  6. Dodano nowy plik do folderu? Kliknij Dane → Odśwież wszystko – tabela sama zaciągnie nowe dane i je przetworzy według schematu.

Import danych z Internetu (zwykła strona)

  1. Dane → Pobierz dane → Z innych źródeł → Z sieci Web.
  2. Wklej URL (np. tabela A kursów NBP) → OK.
  3. Nawigatorze klikaj tabelki po lewej, aż zobaczysz właściwą siatkę z kursami. Zatwierdź.
  4. Właściwości zapytania → zaznacz Odśwież dane podczas otwierania pliku.

O czym warto pamiętać przy pracy z Power Query?

  • Zmiana nazw kolumn potrafi zepsuć krok „Zmieniono typy”. Lepiej najpierw przygotuj nagłówki w tabelach źródłowych, a dopiero potem odśwież zapytanie.
  • PQ nie „widzi” ukrytych arkuszy i źle znosi otwarte pliki źródłowe. Zamykaj, zanim odświeżysz.
  • Chcesz auto-odświeżanie? Kliknij prawym przyciskiem myszki na tabeli → wybierz Właściwości → zaznacz Odśwież dane podczas otwierania pliku (i ewentualnie co X minut).

VBA: klasyka na desktopie

VBA (Visual Basic for Applications) to język programowania wbudowany w Excel desktop.
Pozwala automatyzować praktycznie każdy element arkusza oraz tworzyć formularze VBA (VBA form Excel) dla użytkowników.

Za pomocą VBA możesz:

  • kopiować zakresy,
  • formatować raporty,
  • zapisywać PDF,
  • tworzyć przyciski,
  • budować okna dialogowe i formularze VBA w Excelu.

Kiedy używać VBA?

  • Gdy masz gotowe dane i chcesz z nich zrobić raport „pod linijkę”.
  • Gdy potrzebujesz wieloetapowej automatyzacji.
  • Gdy tworzysz VBA form Excel dla użytkowników.
  • Przy integracji Excel → Outlook → Word.

Plusy: Ogromna moc i elastyczność. Dostęp do wszystkich obiektów Excela. Duża społeczność i mnóstwo gotowych rozwiązań w Internecie.
Minusy:
Stara technologia (choć wciąż wspierana). Kod może być trudny w utrzymaniu, a błędy („debugowanie”) bywają frustrujące dla początkujących. Dodatkowo makra z VBA mogą budzić obawy działów IT ze względów bezpieczeństwa. Makra VBA nie mogą być uruchamiane w wersji przeglądarkowej Excela (np. na SharePoint).

Start „klik po kliku” – nagrywanie makra VBA

  1. Włącz kartę Deweloper: wybierz Plik → Opcje → Dostosowywanie Wstążki → zaznacz Deweloper.
  2. Aby nagrać makro wybierz: Deweloper → Zarejestruj makro → nazwij swoje makro (np. GenerujRaport), możesz również przypisać klawisz skrótu (np. Ctrl+ r).
  3. Wykonaj czynności jak zwykle: kopiuj, wklej jako wartości, wstaw arkusz, utwórz tabelę, ustaw format liczb itd. Uważaj na nadmiarowe kliknięcia i pomyłki – każdy ruch jest nagrywany i zapisywany w kodzie VBA.
  4. Zatrzymaj rejestrowanie tym samym przyciskiem, którym je uruchomiłeś.
  5. Aby wywołać nagrane makro, a więc wykonać automatycznie wszystkie nagrane czynności, użyj skrótu klawiszowego użytego przed nagraniem lub wybierz odpowiednie makro z listy Makra.

O czym warto pamiętać przy pracy z VBA?

  • Makra mogą być blokowane polityką firmy. Używaj zaufanych lokalizacji i włącz makra języka VBA.
  • Wszystkie pliki z makrami muszą posiadać rozszerzenie .xlsm, a więc Skoroszyt programu Excel z obsługą makr.
  • Nie nagrywaj nadmiarowych kroków typu klikanie pojedynczych komórek – to spowalnia pracę makra. Zaznaczaj całe tabele skrótami klawiszowymi Ctrl + strzałki.
  • Jeśli chcesz napisać profesjonalne makro możesz poprosić o pomoc sztuczną inteligencję. W oknie czatu opisz szczegółowo swój problem i wklej otrzymany kod w module edytora VBA (Alt + F11).

TypeScript: automatyzacja w chmurze

To najnowsza ścieżka rozwoju Microsoftu. TypeScript to język programowania (rozwinięcie JavaScriptu), w którym piszesz dodatki do Office (Office Add-ins). Te dodatki działają w Excelu 365 w przeglądarce, na Windowsie i na Macu. Funkcjonują one w chmurze, a więc świetnie integrują się z Power Automate, co oznacza, że możesz automatycznie uruchamiać je o określonej godzinie albo po zapisaniu pliku.

Kiedy go używać?

  • Gdy tworzysz rozwiązanie, które ma działać online w Excelu w przeglądarce (Excel on the web).
  • Kiedy chcesz, aby Twoja automatyzacja integrowała się z zewnętrznymi usługami internetowymi (API, chmura).
  • Chcesz uruchamiać proces zdalnie lub w harmonogramie (np. codzienne scalanie i zapis wyników).
  • Potrzebujesz automatu, który działa bez „otwierania Excela desktopowego”.

Plusy: Nowoczesne, bezpieczne, wieloplatformowe. Łatwe do wdrożenia i dystrybucji przez Office Store lub wewnętrzny katalog firmy.
Minusy:
Najwyższy próg wejścia. Wymaga nauki nowego systemu (npm, Node.js). Nie ma dostępu do wszystkich „głębokich” funkcji Excela tak jak VBA (choć API jest bardzo rozbudowane).

Pierwszy skrypt - nagrywanie krok po kroku

Nie musisz od razu pisać kodu. Możesz zacząć od nagrywania swoich czynności.

  1. Otwórz plik Excela w przeglądarce i przejdź do karty Automatyzacja.
  2. Kliknij Nowy skrypt i z listy rozwijalnej wybierz opcję Utwórz na podstawie nagrania. Teraz wykonuj w arkuszu kolejne kroki edytujące tabelę np:
    • Krok A: Zaznacz kolumny A:D w arkuszu.
    • Krok B: Skopiuj je (Ctrl+C).
    • Krok C: Przejdź do nowego arkusza.
    • Krok D: Wklej dane (Ctrl+V) w komórkę A1.
    • Krok E: Zaznacz wiersz 1 i ustaw pogrubienie.
    • Krok F: Zaznacz kolumnę z kwotami i ustaw format „Waluta”.
    • Krok G: Zmień nazwę nowego arkusza na „Dane_kopia”.

Zauważ, że wszystkie wykonywane kroki są zapisywane w oknie po prawej stronie ekranu.

3. Kliknij Zatrzymaj w oknie Zarejestruj akcje. W edytorze pojawi się gotowy kod w języku TypeScript. Kliknij Uruchom, aby przetestować, czy skrypt powtarza Twoje kroki.

Zrozum i popraw swój nagrany skrypt

Teraz najciekawsza część – możesz modyfikować nagrany kod, aby był bardziej uniwersalny. Został nagrany właśnie skrypt, który zawsze wkleja dane do nowego arkusza „Dane_kopia” i formatuje je. A co, jeśli np. następnym razem chcesz dodać arkusz o innej nazwie?

 

  1. Naciśnij przycisk Edytuj w oknie Edytor kodu pod wybranym skryptem. W edytorze skryptów zmień nazwę arkusza w kodzie. Znajdź linijkę:

 

let dane_nowe = workbook.addWorksheet(„Dane_kopia”);

i zamień na:

let dane_nowe = workbook.addWorksheet(„Dane_kopia_2026„);

 

2. Kliknij Uruchom ponownie.

Jak bezpiecznie zapisać i używać skryptu?

  1. W panelu edytora nadaj skryptowi własną nazwę, np. „Kopiuj raport”. W tym celu wybierz opcję Zmień nazwę pod wybranym skryptem.
  2. Jeśli korzystasz z wersji przeglądarkowej lub działasz w chmurze skrypt zostanie automatycznie zapisany i przypisany do tego konkretnego pliku Excel. Jeśli udostępnisz ten plik koledze, on też będzie mógł uruchomić ten skrypt (jeśli ma uprawnienia).
  3. Aby go uruchomić w przyszłości, wystarczy wejść w kartę Automatyzacja, kliknąć Wyświetl skrypty, wybrać go z listy i nacisnąć Uruchom.

 

Co wybrać? (prosta mapa decyzyjna)

Zadaj sobie 5 pytań:

  1. Skąd masz dane? Jeśli z wielu źródeł i wymagają czyszczenia → Power Query in Excel.
  2. Gdzie pracuje zespół? Przeglądarka i współdzielenie → Office Scripts (TypeScript); desktop i niestandardowe formularze → VBA.
  3. Czy potrzebujesz harmonogramu bez otwierania pliku?Office Scripts + Power Automate.
  4. Czy końcowy raport ma wyglądać „pod linijkę”?VBA (format, wydruk, PDF).
  5. Czy chcesz minimum kodu?Power Query („wyklikanie” oraz odświeżanie).

Podobne artykuły

Wszystkie artykuły