
Od dziesięcioleci, gdy użytkownik programu Excel musiał zautomatyzować powtarzalne zadanie, odpowiedź była zawsze ta sama: Visual Basic for Applications (VBA). Choć niezwykle potężny, język VBA wymaga wiedzy programistycznej, działa wyłącznie w ramach ekosystemu komputerowego Microsoft Office i może onieśmielać początkujących. Obecnie istnieje nowoczesna alternatywa oparta na chmurze: Microsoft Power Automate.
Power Automate (dawniej Microsoft Flow) pozwala na tworzenie zautomatyzowanych przepływów pracy między Twoimi ulubionymi aplikacjami i usługami, aby synchronizować pliki, otrzymywać powiadomienia, zbierać dane i wiele więcej. Co najlepsze, na starcie nie wymaga to żadnej wiedzy programistycznej. W tym kompleksowym przewodniku dowiemy się, jak wykorzystać Power Automate do bezproblemowej automatyzacji Excela bez pisania choćby jednej linijki kodu VBA.
Zanim przejdziemy do tego, „jak” to zrobić, warto zrozumieć „dlaczego”. Chociaż wiedza z zakresu Podstawy VBA: Twój pierwszy program w Excelu jest wciąż cenną umiejętnością w przypadku skomplikowanych modyfikacji arkuszy lokalnych, Power Automate błyszczy w nowoczesnym, połączonym środowisku pracy.
Oto krótkie zestawienie, kiedy użyć danego narzędzia:
| Funkcja | Excel VBA | Power Automate |
|---|---|---|
| Środowisko | Desktopowe (głównie offline) | Oparte na chmurze (wymaga dostępu do Internetu) |
| Próg wejścia | Wysoki (wymaga wiedzy programistycznej) | Niski (wizualny interfejs „przeciągnij i upuść”) |
| Integracje zewnętrzne | Trudne (wymagają skomplikowanych API) | Natywna integracja z setkami aplikacji |
| Typy wyzwalaczy | Zdarzenia skoroszytu (otwarcie, kliknięcie, zmiana) | Zdarzenia zewnętrzne (e-maile, przesłanie formularza, webhooki) |
Jeśli Twoim celem jest automatyzacja wprowadzania danych ze źródeł zewnętrznych, wysyłanie automatycznych e-maili na podstawie danych z arkusza lub połączenie Excela z oprogramowaniem takim jak Salesforce, SharePoint czy Outlook, Power Automate będzie najlepszym wyborem. Jeśli jednak skupiasz się ściśle na Automatyzacji raportów za pomocą Excel VBA i formatowaniu setek lokalnych plików, VBA może nadal dzierżyć koronę.
W Power Automate każda zautomatyzowana sekwencja nazywana jest Przepływem (Flow). Każdy przepływ składa się z trzech podstawowych elementów budulcowych:
Aby z powodzeniem automatyzować Excela przy użyciu Power Automate, Twoja konfiguracja musi spełniać dwa kluczowe wymagania:
Ponieważ Power Automate jest usługą w chmurze, nie może niezawodnie wchodzić w interakcję z plikiem Excela zapisanym lokalnie na dysku `C:` Twojego komputera. Twój skoroszyt musi być zapisany w usłudze OneDrive dla Firm (OneDrive for Business) lub w Bibliotece dokumentów SharePoint.
Power Automate nie może po prostu zrzucić danych do pustego arkusza; potrzebuje zdefiniowanych granic. Musisz sformatować docelowy zakres danych jako oficjalną Tabelę programu Excel. Aby to zrobić:
Przeanalizujmy wysoce praktyczny scenariusz: Automatyczne rejestrowanie przychodzących zapytań e-mailowych w arkuszu kalkulacyjnym Excela. Jest to doskonały przykład na to, jak startup zaoszczędził 20 godzin tygodniowo dzięki automatyzacji Excela poprzez eliminację ręcznego wprowadzania danych.
Utwórz w usłudze OneDrive nowy plik programu Excel o nazwie „Email_Log.xlsx”. Utwórz tabelę z następującymi nagłówkami:
Sformatuj ten zakres jako Tabelę i nadaj jej nazwę „TabelaLogowEmail”. Zamknij plik.
Zaloguj się do usługi Power Automate (make.powerautomate.com). Na lewym pasku bocznym kliknij Utwórz, a następnie wybierz Zautomatyzowany przepływ w chmurze.
Nazwij swój przepływ „Rejestrowanie przychodzących e-maili”. W polu wyszukiwania „Wybierz wyzwalacz przepływu” wpisz „Outlook”. Wybierz opcję Po nadejściu nowej wiadomości e-mail (wersja 3) — Office 365 Outlook i kliknij Utwórz.
W kreatorze przepływu kliknij pole wyzwalacza. Możesz tu określić dodatkowe parametry, takie jak uruchamianie przepływu tylko dla wiadomości e-mail, które zawierają w temacie określone słowo (np. „Zapytanie”). W tym przewodniku pozostawimy go tak, aby był wyzwalany dla wszystkich wiadomości e-mail w Skrzynce odbiorczej.
Kliknij przycisk + Nowy krok. Wyszukaj „Excel” i wybierz łącznik Excel Online (Business). Z listy akcji wybierz Dodaj wiersz do tabeli.
Teraz wskaż lokalizację pliku:
Po wybraniu tabeli, Power Automate automatycznie wyświetli nagłówki kolumn utworzone w Kroku 1. Kliknij każde pole, aby przypisać „Zawartość dynamiczną” (dane pochodzące z wyzwalacza wiadomości e-mail):
Kliknij Zapisz. Właśnie utworzyłeś w pełni funkcjonalną automatyzację bez ani jednej linijki kodu VBA! Wyślij testową wiadomość e-mail na swoje konto i obserwuj, jak tabela programu Excel automatycznie wypełnia się danymi.
Jednym z haczyków podczas używania Power Automate jest to, że importowane dane mogą nie być sformatowane dokładnie tak, jak tego oczekujesz. Na przykład, Godzina odebrania z naszego przykładu z e-mailem zostanie zaimportowana jako mało czytelny znacznik czasu ISO 8601 (np. 2023-11-28T14:32:00Z).
Zamiast próbować analizować to za pomocą skomplikowanych wyrażeń Power Automate, możesz polegać na standardowych formułach programu Excel wewnątrz tabeli. Dodaj nową kolumnę do swojej tabeli i nazwij ją „Czysta data”. Ponieważ korzystasz z oficjalnej Tabeli programu Excel, możesz wpisać formułę w pierwszym wierszu, a skopiuje się ona automatycznie za każdym razem, gdy Power Automate doda nowy wiersz.
Aby wyodrębnić samą datę ze znacznika czasu, możesz użyć kombinacji funkcji LEFT i VALUE, osadzonych w standardowym formacie:
=VALUE(LEFT([@[Data otrzymania]], 10))
Sformatuj tę nową kolumnę w programie Excel jako Datę krótką. Teraz za każdym razem, gdy przepływ zostanie uruchomiony, Excel natychmiastowo zajmie się transformacją danych.
Możesz także wykorzystać tę okazję do krzyżowego odwoływania się do przychodzących danych. Na przykład, jeśli chcesz sprawdzić, czy adres e-mail nadawcy należy już do istniejącego klienta z innego arkusza, możesz użyć metody INDEKS PODAJ.POZYCJĘ: Najlepsza metoda wyszukiwania bezpośrednio w zautomatyzowanej tabeli:
=IFERROR(INDEX(Klienci!B:B, MATCH([@[E-mail nadawcy]], Klienci!A:A, 0)), "Nowy kontakt")
Dzięki takiej konfiguracji Twój arkusz staje się żywą bazą danych, która automatycznie kategoryzuje informacje.
Dodawanie wierszy do tabel to dopiero początek. Power Automate oferuje kilka innych potężnych akcji dla programu Excel:
Wyobraź sobie, że musisz wysłać podsumowanie danych sprzedażowych w każdy piątek o godzinie 17:00. Możesz utworzyć Zaplanowany przepływ w chmurze, który uruchamia się co tydzień. Przepływ ten może wykorzystać akcję „Wyświetl listę wierszy obecnych w tabeli”, aby pobrać dane z danego tygodnia, zastosować operację „Utwórz tabelę HTML” do ich sformatowania, a następnie wysłać je za pomocą łącznika Outlook. Stanowi to niesamowitą alternatywę dla skomplikowanego raportowania opartego na makrach.
Jeśli potrzebujesz jeszcze bardziej zaawansowanych manipulacji danymi, zanim te trafią do Excela, warto zapoznać się z artykułem Power Query: Importuj i przekształcaj dane jak profesjonalista, który opisuje narzędzie będące fantastycznym uzupełnieniem Power Automate.
W miarę budowania coraz bardziej skomplikowanych przepływów możesz natrafić na kilka powszechnych przeszkód. Oto jak je rozwiązać:
Jeśli ktoś ma otwarty plik programu Excel w aplikacji komputerowej i plik ten nie synchronizuje się poprawnie z usługą OneDrive, Power Automate może nie zdołać dodać wiersza. Zawsze upewnij się, że plik ma włączoną opcję Autozapisu (AutoSave) i jest przechowywany w udostępnionym środowisku w chmurze, aby zapobiec jego blokowaniu.
Jeśli usuniesz tabelę w Excelu i utworzysz ją ponownie, Power Automate straci połączenie, nawet jeśli nazwiesz nową tabelę dokładnie tak samo. Excel przypisuje każdej tabeli ukryty, unikalny identyfikator. W przypadku ponownego utworzenia tabeli musisz wrócić do swojego przepływu, ponownie wybrać tabelę z menu rozwijanego i zmapować na nowo zawartość dynamiczną.
Podczas używania akcji „Wyświetl listę wierszy obecnych w tabeli”, Power Automate domyślnie ogranicza liczbę zwracanych wierszy do 256. Jeśli Twoja tabela ma 1000 wierszy, nie otrzymasz ich wszystkich. Aby to naprawić, kliknij trzy kropki (...) na akcji, wybierz Ustawienia, włącz Paginację (Stronicowanie) i ustaw próg na żądaną liczbę (maksymalnie 100 000).
Przejście z ręcznego wprowadzania danych na Power Automate wymaga zmiany sposobu myślenia o arkuszach kalkulacyjnych. Nie wypełniasz już tylko komórek; projektujesz systemy danych. Aby te systemy działały bezbłędnie, potrzebujesz solidnych formuł Excela w swoich tabelach do obsługi przychodzących, zautomatyzowanych danych.
Jeśli kiedykolwiek będziesz mieć problem z połączeniem funkcji takich jak VLOOKUP, INDEX, MATCH, czy też zagnieżdżonych instrukcji IF w celu przetworzenia danych z Power Automate, GPTExcel może pomóc. Wystarczy, że opiszesz swoją potrzebę w naturalnym języku – na przykład: „Potrzebuję formuły, która sprawdza kolumnę ze zautomatyzowaną datą i zwraca wartość 'Zaległe', jeśli data jest starsza niż 30 dni” – a GPTExcel natychmiast wygeneruje dokładną, gotową do wklejenia formułę.
Podstawowa wersja Power Automate jest zawarta w większości subskrypcji komercyjnych i edukacyjnych Microsoft 365. Obejmuje ona standardowe łączniki, takie jak Excel Online, Outlook i SharePoint. Łączniki premium (np. Salesforce lub niestandardowe API) wymagają osobnej licencji Power Automate w wersji Premium.
Tak, ale z pewnymi zastrzeżeniami. Możesz użyć akcji „Uruchom skrypt” w Power Automate do uruchamiania Skryptów pakietu Office (Office Scripts – nowoczesna, oparta na chmurze i napisana w TypeScript alternatywa Microsoftu dla VBA). Power Automate nie może jednak uruchamiać tradycyjnych makr VBA z plików `.xlsm` bezpośrednio z chmury, bez użycia skomplikowanej lokalnej bramy danych (on-premises data gateway).
Różne wyzwalacze mają różne interwały sondowania (odpytywania). O ile niektóre wyzwalacze (jak naciśnięcie przycisku lub żądanie HTTP) uruchamiają się natychmiast, wyzwalacze ankietujące (jak „Po utworzeniu nowego pliku” lub „Po nadejściu wiadomości e-mail”) mogą wymagać kilku minut na wykrycie zdarzenia, w zależności od poziomu posiadanej licencji Microsoft 365.
Tak! Power Automate nie jest ograniczone wyłącznie do ekosystemu Microsoftu. Istnieje w pełni obsługiwany łącznik Arkuszy Google (Google Sheets), który pozwala na dodawanie i pobieranie wierszy oraz aktualizowanie danych w Google Workspace dokładnie w ten sam sposób, co w aplikacji Excel Online.
Odkryj, jak automatyzować zadania w programie Excel bez VBA za pomocą Power Automate. Dowiedz się, jak tworzyć przepływy, przetwarzać dane i łączyć inne aplikacje.
Dowiedz się, jak budować zautomatyzowane systemy raportowania w Excelu przy użyciu VBA. Naucz się pobierać dane, wstawiać formuły, formatować komórki i eksportować raporty z użyciem instrukcji krok po kroku i gotowego kodu.
Rozpocznij programowanie w Excelu z VBA. Poznaj kartę Deweloper, zmienne, pętle, instrukcje warunkowe i dowiedz się, jak napisać swoje pierwsze makro od podstaw.