Zarejestruj makro jest funkcją, której część użytkowników się boi. A niesłusznie, niż nawet bez wiedzy programistycznej może dostarczyć wiele rozrywki i… spowodować dużą oszczędność czasu.
Najpierw należy przygotować Excela do stosowania makr (zobacz, jak to zrobić).
A potem już można korzystać z rejestratora makr.
Po co?
Rejestracja umożliwia zapisanie kodu VBA (makra) na podstawie czynności użytkownika oraz nadanie im skrótu klawiszowego. Innymi słowy Excel zapamięta wykonywane czynności i będzie gotowy, żeby je powtórzyć.
DOBRA RADA: aby zapisane makro działało uniwersalnie warto przed rejestracją zaznaczyć obszar, w którym wprowadzamy zmiany – wtedy wywołane makro zawsze odwoływać się będzie do zaznaczonego obszaru, a nie do konkretnych komórek.
Zarejestruj makro:
Mamy dane, które otrzymujemy regularnie w postaci surowej. I mamy je odpowiednio zaprezentować.
Zgodnie z Dobrą Radą zaznaczamy dane, klikamy Zarejestruj makro.
Wywołamy w ten sposób formatkę ZAREJESTRUJ MAKRO.
Omówmy po kolei dostępne opcje:
NAZWA MAKRA:
Domyślnie Excel numeruje kolejne makra nadając im nazwy Makro1, Makro2, Makro3. Przy pewnej ich liczbie (która szybko rośnie – zobaczycie) trudno się potem zorientować, co dokładnie robi Makro11 w odróżnieniu od Makra25. Dlatego warto nadawać makrom nazwy merytoryczne.
Nazywając makro należy pamiętać, że nazwa musi zaczynać się od podkreślenia lub litery i nie może zawierać spacji ani znaków specjalnych. Ponadto część nazw jest przez program zastrzeżona – Excel nie pozwoli na nadanie takiej nazwy wyświetlając komunikat o błędzie.
KLAWISZ SKRÓTU:
Powoduje przypisanie skrótu klawiszowego do rejestrowanego (lub pisanego) makra. Takim skrótem możemy je później uruchomić. Domyślnie skróty obsługujące makra zaczynają się od CTRL. Przypisanie skrótu wykorzystywanego przez Excel powoduje „nadpisanie” funkcji wbudowanej przez polecenie „uruchom makro” czyli de facto uniemożliwia korzystanie ze skrótu wbudowanego. Niezajęte literowe skróty z klawiszem CTRL: Ctrl+J oraz Ctrl+M – nieprzesadnie duży wybór. Oczywiście można poświęcić jakiś nieużywany skrót, ale ja wolę wybrać kombinację klawiszy ctrl+shift+litera, co umożliwa wygodne uruchamianie makr jedną ręką (np. ctrl+shif+a), a jednocześnie nie pozostaje w konflikcie z funkcjami wbudowanymi Excela.
Aby zapisać klawisz skrótu należy stojąc w okienku obok wpisanego Ctrl nacisnąć wybrany klawisz lub kombinację klawiszy Z POMINIĘCIEM klawisza CTRL.
PRZECHOWUJ MAKRO W:
Mamy do wyboru trzy opcje przechowywania makra: albo w „Tym skoroszycie” albo w „Nowym skoroszycie” albo w „Skoroszycie makr osobistych”. Pierwsze dwie opcje powodują, że makro jest dostępne tylko z wybranego skoroszytu. Ostatnia powoduje, że Excel będzie udostępniał nasze makro w każdym skoroszycie otwartym w tym programie.
OPIS:
Kolejna możliwość dokładniejszego opisania, co robi makro. Bezcenna dobra praktyka. Z mojego doświadczenia – stosowana bardzo, bardzo rzadko. Ale warto 😉
Po wypełnieniu formatki Excel już zaczął rejestrować nasze makro.
No to dla przykładu zmieńmy czcionkę na Arial 10 i zamieńmy słowo „marchewka” na „marchew”.
Na koniec naciskamy ten sam klawisz, co przy rejestrowaniu makro, który w trakcie nagrywania makra ma opis „Zatrzymaj rejestrowanie”.
Od tej pory dla dowolnych zaznaczonych danych wystarczy nacisnąć Ctrl+Shift+A aby z marchewki zrobiła się marchew, a czcionka zmieniła się na Arial10.
UWAGI KOŃCOWE:
- W przykładzie zostały podane przykłady komend nie odwołujących się do adresów poszczególnych komórek – to gwarantuje poprawne działanie makra na dowolnym zaznaczonym obszarze.
- Jeśli dane do obróbki mają zawsze tę samą strukturę można w ramach makra rejestrować polecenia odnoszące się do konkretnych komórek np. wpisywanie treści w poszczególne komórki, sortowanie, ustawianie szerokości poszczególnych kolumn itd.
- Edytować nazwę, opis, sposób przechowywania i skrót przypisany do makra można za pomocą wybrania na karcie deweloper opcji Makra, zaznaczeniu wybranego makra i naciśnięcie przycisku Opcje.
- Zarejestrowany kod VBA można obejrzeć i edytować klikając Deweloper/Makra/Edycja – w nowym oknie Microsoft Visual Basic for Applications.
- Makra powstające przez opcję „zapisz makro” działają, ale są zapisane w nieoptymalny sposób, co może mieć wpływ na wydajność w przypadku skomplikowanych poleceń lub dużej ilości danych.
Zapisywanie
Aby zapisać plik z makrem należy wybrać format .xlsm czyli wybrać typ Skoroszyt Excel z obsługą makr.
Jeśli makro chcemy przechowywać w skoroszycie makr osobistych Excel przy zamykaniu programu zapyta, czy modyfikować ten skoroszyt. Dopiero potwierdzenie zapisu spowoduje, że makra będą dostępne przy ponownym uruchomieniu programu.