Makra w Excelu to zapisane sekwencje poleceń, które automatyzują powtarzalne czynności. Mogą być nagrane przez użytkownika albo zapisane jako kod w języku VBA. Excel domyślnie je blokuje, ponieważ plik z makrem może zawierać złośliwy kod.
Czym właściwie jest makro w Excelu?
Makro można porównać do nagrania czynności wykonywanych w arkuszu. Excel zapamiętuje kolejne operacje, takie jak zaznaczanie komórek, zmiana formatowania czy kopiowanie danych, a później odtwarza je po jednym kliknięciu lub skrócie klawiaturowym.
Technicznie makra wykorzystują język VBA, czyli Visual Basic for Applications. Nie trzeba jednak znać programowania, aby korzystać z prostych makr. W wielu przypadkach wystarczy użyć rejestratora dostępnego na karcie Deweloper. Bardziej złożone automatyzacje można tworzyć lub modyfikować, edytując kod VBA.
Makra są zwykle przechowywane w plikach obsługujących kod, na przykład w skoroszytach z rozszerzeniem .XLSM. Ich zadaniem jest skrócenie pracy wykonywanej ręcznie i ograniczenie liczby powtarzalnych operacji.
Do czego służą makra?
Makro ma sens wtedy, gdy tę samą czynność wykonujesz regularnie i według podobnego schematu. Przykłady zastosowań obejmują:
- Formatowanie raportów – ustawianie kolorów, czcionek, szerokości kolumn i układu tabel.
- Czyszczenie danych – usuwanie duplikatów, poprawianie formatów i przygotowanie tabel do dalszej analizy.
- Generowanie zestawień – łączenie informacji z wielu arkuszy lub tworzenie raportu na podstawie powtarzalnego wzoru.
- Wysyłanie wiadomości e-mail – przygotowanie wiadomości z danymi pobranymi z arkusza, jeśli makro zostało do tego zaprogramowane.
Makro można uruchamiać z listy makr, przyciskiem umieszczonym w arkuszu albo skrótem klawiaturowym. Przy przypisywaniu skrótu trzeba uważać, aby nie zastąpić nim standardowej funkcji Excela, na przykład otwierania lub tworzenia nowego pliku.
Dlaczego Excel blokuje makra?
Blokowanie makr nie oznacza błędu programu. To funkcja bezpieczeństwa. Kod VBA może wykonywać operacje wykraczające poza zwykłe wpisywanie danych, dlatego złośliwe makro może zostać wykorzystane do uruchomienia szkodliwych działań, na przykład pobrania pliku, zmiany danych lub instalacji złośliwego oprogramowania.
Z tego powodu Excel nie uruchamia automatycznie makr w każdym otrzymanym skoroszycie. Dotyczy to szczególnie plików pobranych z internetu, otrzymanych pocztą elektroniczną lub zapisanych w nieznanej lokalizacji. Użytkownik musi świadomie zezwolić na uruchomienie kodu.
Włączaj makra tylko wtedy, gdy znasz źródło pliku i masz powód, aby mu zaufać. Sama wiadomość od znanej osoby nie zawsze wystarcza, ponieważ jej konto lub komputer także mogły zostać przejęte.
Jak bezpiecznie włączyć makra?
Włączenie makr w jednym pliku
Jeśli Excel wyświetli żółty pasek z komunikatem o wyłączonych makrach, najprostsza metoda dotyczy tylko tego konkretnego skoroszytu. Otwórz plik i kliknij Włącz zawartość. Nie zmieniasz w ten sposób ogólnych ustawień programu, lecz zezwalasz na działanie makr w wybranym pliku.
Jeżeli plik zostanie skopiowany do innej lokalizacji albo otrzymasz jego nową kopię, Excel może ponownie wyświetlić ostrzeżenie. Jest to normalne zachowanie zabezpieczeń.
Zmiana ustawień w Centrum Zaufania
Gdy regularnie pracujesz z makrami, możesz sprawdzić ich ustawienia w Centrum Zaufania. W desktopowej wersji Excela wybierz:
- Otwórz menu Plik i wybierz Opcje.
- Przejdź do sekcji Centrum Zaufania.
- Kliknij Ustawienia Centrum Zaufania.
- Wybierz Ustawienia makr.
- Wybierz poziom zabezpieczeń i zatwierdź zmiany przyciskiem OK.
Poszczególne ustawienia różnią się zakresem ochrony:
| Ustawienie | Działanie | Zalecenie |
|---|---|---|
| Wyłącz wszystkie makra bez powiadomienia | Blokuje makra i nie pokazuje paska ostrzeżenia. | Przydatne w środowiskach o zaostrzonych zasadach bezpieczeństwa. |
| Wyłącz wszystkie makra z powiadomieniem | Blokuje makra, ale pozwala zdecydować osobno dla każdego pliku. | Najlepszy wybór dla większości użytkowników. |
| Wyłącz wszystkie makra z wyjątkiem podpisanych cyfrowo | Uruchamia tylko makra od zweryfikowanych wydawców. | Rozwiązanie dla organizacji korzystających z podpisywanych plików. |
| Włącz wszystkie makra | Uruchamia makra bez dodatkowego ostrzeżenia. | Ustawienie o wysokim ryzyku, którego nie należy stosować bez wyraźnej potrzeby. |
Zmiana ustawień globalnych jest czymś innym niż kliknięcie Włącz zawartość przy jednym pliku. W pierwszym przypadku zmieniasz sposób działania Excela wobec wielu skoroszytów. Jeśli komputer jest zarządzany przez firmę lub szkołę, ustawienia mogą być zablokowane przez administratora.
W przypadku plików używanych stale przez zespół można rozważyć dodanie kontrolowanego folderu do zaufanych lokalizacji. Nie należy jednak oznaczać jako zaufanych przypadkowych miejsc, takich jak folder Pobrane, ponieważ trafiają tam również pliki z nieznanych źródeł.
Czy makra działają w każdej wersji Excela?
Makra VBA działają w desktopowej wersji Microsoft Excel. Excel Online, czyli wersja uruchamiana w przeglądarce, nie obsługuje uruchamiania makr. Ograniczenie dotyczy także aplikacji mobilnych na iOS i Androidzie. Samo włączenie ustawień bezpieczeństwa nie zmieni tego faktu, ponieważ chodzi o możliwości danej platformy.
Jeżeli skoroszyt z makrami otwiera się w Excel Online, do wykonania kodu potrzebujesz aplikacji komputerowej. Przy pracy z takim plikiem zwróć też uwagę na rozszerzenie, ponieważ zwykły format .XLSX nie przechowuje makr VBA.
Makra są więc sposobem na automatyzację powtarzalnej pracy, a nie osobnym rodzajem formuły. Najbezpieczniej pozostawić opcję wyłączania makr z powiadomieniem i zezwalać na ich działanie tylko w plikach, których pochodzenie oraz zawartość są znane.