Co to jest makro w programie Excel. Jak napisać proste makro w Excelu. Co rejestruje makro?
Najłatwiejszym sposobem na rozpoczęcie nauki o makrach programu Excel jest użycie ich do zarejestrowania sekwencji działań. Możesz następnie odtworzyć tę sekwencję, tj. wykonać makro.
Poniższy przykład da początkującym wyobrażenie o działaniu makr. Pokazuje, jak nagrać proste makro, które wstawia twoje imię do aktywnej komórki.
Tworzenie makra
Aby utworzyć makro, wykonaj następujące kroki.
- Aktywuj pustą komórkę.
- Naciśnij przycisk Nagrywanie makro po lewej stronie paska stanu. Pojawi się okno Nagrywanie makro.
- Wprowadź nową jednowyrazową nazwę makra, aby zastąpić nazwę domyślną Makro1. Wskazujemy Moje imię.
- Przypisz skrót klawiaturowy do makra Ctrl+Shift+N wpisując literę N wielkimi literami w polu edycji oznaczonym jako Skrót klawiszowy.
- Kliknij OK aby zamknąć okno dialogowe Nagrywanie makro i zacznij rejestrować swoje działania.
- Wpisz swoje imię w wybranej komórce i naciśnij klawisz Wchodzić.
- Makro jest gotowe, więc kliknij przycisk Zatrzymaj nagrywanie na pasku stanu.
To makro jest bardzo proste. W większości przypadków zarejestrujesz więcej aktywności niż podano w tym przykładzie.
Wyświetl kod makra
Makro zostało zarejestrowane w nowy moduł VBA zatytułowany Moduł 1. Jeśli jesteś zainteresowany, możesz spojrzeć na spisane instrukcje. Aby wyświetlić kod tego modułu, musisz otworzyć Visual Basic Redaktor(VBE). Kliknij Alt+F11 przełączać się między oknami VBE i Excel.
W VBE okno projekt wyświetla listę wszystkich otwartych skoroszytów i dodatków. Ta lista jest pokazana w postaci diagramu drzewa, który można zwijać i rozwijać. Zapisany wcześniej kod jest przechowywany w Moduł 1 aktualna książka. Jeśli dwukrotnie klikniesz Modulel, w oknie pojawi się kod modułu Kod(Rys. 204.1).
Zauważ, że Excel wstawił komentarze na początku procedury. Oto niektóre informacje, które pojawiły się w oknie Nagrywanie makro. Linie komentarza (zaczynające się od apostrofu) są opcjonalne, a ich usunięcie nie ma wpływu na działanie makra.
Testy makro
Zanim nagrałeś to makro, przypisałeś mu skrót klawiaturowy Ctrl+Shift+N. Aby przetestować makro, wróć do programu Excel, klikając Alt+F11. Gdy Excel jest aktywny, aktywuj arkusz (może znajdować się w skoroszycie zawierającym moduł VBA lub w dowolnym innym skoroszycie). Wybierz komórkę lub zakres komórek i kliknij Ctrl+Shift+N. Makro natychmiast wprowadzi Twoje imię i nazwisko do komórki.
W tym przykładzie zwróć uwagę, że wybrałeś komórkę przed rozpoczęciem nagrywania makra. To jest ważne. Jeśli wybierzesz komórkę podczas rejestrowania makra, wybrana komórka zostanie zarejestrowana w makrze. W takim przypadku zawsze wprowadzi Twoje imię i nazwisko w tej konkretnej komórce i nie stanie się makrem „ogólnego przeznaczenia”.
Makra pozwalają znacznie rozszerzyć możliwości Excela. Automatyzują przepływy pracy i przejmują większość rutynowej pracy użytkownika. Musisz tylko nauczyć się korzystać z makr, a wydajność pracy wzrośnie dziesięciokrotnie!
Nie musisz nawet być programistą i znać języka programowania „VBA”, aby tworzyć własne programy makr za pomocą narzędzia do nagrywania makr.
Najpierw musisz włączyć panel programisty. Aby to zrobić, w menu „Plik” otwórz grupę opcji „Opcje”. W wyświetlonym oknie Opcje programu Excel otwórz grupę Dostosowywanie wstążki. Zwróć uwagę na prawą kolumnę ustawień o tej samej nazwie „Ustawienia wstążki”. W nim zaznacz opcję „Programista”, jak pokazano na poniższym rysunku:
Teraz mamy na wstążce nową zakładkę „Programista” ze wszystkimi naszymi narzędziami do automatyzacji pracy w Excelu i tworzenia makr.
Korzystanie z VBA i makr w programie Microsoft Excel
Makra to wewnętrzne aplikacje, które wykonują całą rutynową pracę, ułatwiając życie użytkownikowi. Każdy użytkownik może stworzyć makro bez znajomości języków programowania. W tym celu istnieje rejestrator makr, który jest uruchamiany za pomocą przycisku „Nagraj makro”.
W tym trybie rejestrator makr w Excelu rejestruje wszystkie działania użytkownika, tłumacząc kod VBA na język programowania na tryb automatyczny. Po zakończeniu nagrywania otrzymujemy zakończony program, który sam wykonuje czynności, które użytkownik wykonał podczas nagrywania.
Jak nagrać gotowe makro w Excelu? Bardzo prosta:
Za pomocą makroprogramów możesz dziesięciokrotnie zwiększyć produktywność użytkownika. Aby jednak wykorzystać nagrywanie makr użytkownika w 100%, należy przestrzegać prostych zasad, które znacząco wpływają na ich jakość w momencie rejestracji oraz wydajność podczas wykonywania.
Jak pracować z makrami w programie Excel
5 prostych wskazówek, które pomogą Ci tworzyć makra bez programowania. Skorzystaj z nich prosta rada, które pozwalają szybko i łatwo tworzyć wysokiej jakości programy makr automatycznie:
1 Popraw nazwy w makrach.
Nadaj makram krótkie, ale znaczące nazwy. Kiedy wejdziesz w smak, z czasem będziesz musiał stworzyć wiele makr. Po wybraniu w oknie dialogowym łatwiej je znaleźć dzięki krótkim i opisowym nazwom. System VBA daje możliwość podania opisu nazwy. Pamiętaj, aby go użyć.
Nazwa makra musi zaczynać się od liter i nie może zawierać spacji, symboli ani znaków interpunkcyjnych. Po pierwszym znaku możesz użyć więcej liter, cyfr lub podkreśleń, ale maksymalna długość nazwa ma 80 znaków.
2 Użyj względnych (nie bezwzględnych) adresów komórek
Bezwzględny adres komórki to dokładna lokalizacja kursora, gdy informacja o jego lokalizacji jest zapisywana do adresów makr z twardym linkiem do określonej komórki w momencie zapisywania. Adresy bezwzględne ograniczają możliwości makra w przypadku dodania/usunięcia danych w dniu arkusz excel lub lista danych się powiększy. Względne środki nie wiążą kursora z określonym adresem komórki.
Domyślnie program Excel ma włączony tryb bezwzględny, ale można go zmienić, włączając przycisk Odwołania względne znajdujący się poniżej przycisku Rejestruj makro na pasku narzędzi karty Deweloper:
3 Zawsze rozpoczynaj nagrywanie z kursorem w A1
Bezwzględne zliczanie komórek odbywa się zawsze od pozycji początkowej (adres komórki A1) - do adresu kursora z Twoimi danymi. Jeśli zapisałeś makro w osobistej książce makr (co jest zalecane), możesz używać swojego programu na innych arkuszach z podobnymi danymi. Bez względu na to, gdzie znajduje się kursor, gdy zaczynasz nagrywanie makr! Nawet jeśli znajduje się już w komórce A1, najlepiej zarejestrować pierwsze makro po naciśnięciu klawisza Ctrl + Home.
Przykład: Wyobraź sobie, że co miesiąc otrzymujesz dziesiątki stolików ze wszystkich oddziałów. Musisz uporządkować dane i obliczyć wskaźniki, aby wygenerować kolejny miesięczny raport. Możesz zarejestrować makro, aby wykonywać wszystkie te funkcje, w tym otwierać i łączyć wszystkie arkusze w jedną tabelę kombi.
4 Zawsze nawiguj za pomocą klawiszy kierunkowych podczas nagrywania makra
Użyj klawiszy strzałek, aby sterować kursorem (Ctrl + Up itp.). Ustaw kursor tak, aby w razie potrzeby móc dodawać, zmieniać lub usuwać dane w tabeli.
Korzystanie z myszy do nawigacji jest bardziej złożone i nie jest tak niezawodne w momencie nagrywania. Jeśli chodzi o makra, najlepiej używać myszy tylko do wywoływania menu.
5 Twórz makra do określonych małych zadań
Zachowaj makra do małych, konkretnych zadań. Więcej kod programowania w makrze, tym wolniej działa, zwłaszcza jeśli wymagane jest wykonanie wielu funkcji lub obliczenie wielu formuł w dużym arkuszu kalkulacyjnym.
Jeśli uruchamiasz każdy proces osobno, możesz szybko przejrzeć wyniki, aby sprawdzić, czy działają poprawnie.
Jeśli nie możesz rozbić długiego makra na krótkie aplikacje, ale chcesz sprawdzić jego funkcjonalność krok po kroku („debugowanie”). Naciśnij klawisz F8 za każdym razem, gdy chcesz przejść do następnego kroku w zadaniu. Proces wykonywania programu zatrzymuje się, gdy widzi błąd. Możesz naprawić błąd, który jest łatwy do znalezienia za pomocą "debugowania" lub napisać go w nowy sposób.
Najpierw trochę o terminologii.
Makro to kod napisany we wbudowanym języku Excela VBA(Visual Basic dla aplikacji). Makra mogą być tworzone ręcznie lub rejestrowane automatycznie za pomocą tzw. rejestratora makr.
rejestrator makr to narzędzie w Excelu, które krok po kroku rejestruje wszystko, co robisz w Excelu i konwertuje to na kod VBA. Rejestrator makr tworzy bardzo szczegółowy kod (jak zobaczymy później), który możesz później edytować w razie potrzeby.
Nagrane makro można uruchomić nieograniczoną liczbę razy, a Excel powtórzy wszystkie zarejestrowane kroki. Oznacza to, że nawet jeśli nic nie wiesz o VBA, możesz zautomatyzować niektóre zadania, po prostu zapisując swoje kroki, a następnie ponownie je wykorzystując.
Teraz zanurkujmy i zobaczmy, jak nagrać makro w programie Excel.
Wyświetlanie karty Deweloper na wstążce menu
Przed nagraniem makra musisz dodać menu do wstążki Karta Excel"Deweloper". Aby to zrobić, wykonaj następujące kroki:
W rezultacie na wstążce menu pojawi się zakładka "Programista".
Nagrywanie makra w Excelu
Napiszmy teraz bardzo proste makro, które wybiera komórkę i wprowadza do niej tekst, np. „Excel”.
Oto kroki, aby nagrać takie makro:
Gratulacje! Właśnie nagrałeś swoje pierwsze makro w programie Excel. Chociaż makro nie robi nic użytecznego, pomoże nam zrozumieć, jak działa rejestrator makr w programie Excel.
Teraz spójrzmy na kod, który zarejestrował rejestrator makr. Wykonaj następujące kroki, aby otworzyć edytor kodu:
Zobaczysz, że jak tylko klikniesz przycisk „Uruchom”, tekst „Excel” zostanie wstawiony do komórki A2 i wybrana zostanie komórka A3. Dzieje się to w ciągu milisekund. Ale w rzeczywistości makro sekwencyjnie wykonywało zarejestrowane działania.
Notatka. Możesz także uruchomić makro za pomocą skrótu klawiaturowego Ctrl + Shift + N (przytrzymaj klawisze Ctrl i Shift, a następnie naciśnij klawisz N). Jest to ten sam skrót, który przypisaliśmy do makra podczas jego nagrywania.
Co rejestruje makro?
Przejdźmy teraz do edytora kodu i zobaczmy, co mamy.
Oto kroki, aby otworzyć edytor VB w programie Excel:
- W grupie Kod kliknij przycisk Visual Basic.
Możesz także użyć kombinacji Klawisze Alt+ F11 i przejdź do edytora kodu VBA.
- Pasek menu: zawiera polecenia, których można używać podczas pracy z edytorem VB.
- pasek narzędzi- wygląda jak panel szybki dostęp w Excelu. Możesz do tego dodać dodatkowe narzędzia z których często korzystasz.
- Okno projektu (Eksplorator projektu)- tutaj Excel wyświetla wszystkie skoroszyty i wszystkie obiekty w każdym skoroszycie. Na przykład, jeśli mamy skoroszyt z 3 arkuszami roboczymi, pojawi się on w Eksploratorze projektów. Znajduje się tutaj kilka dodatkowych obiektów, takich jak moduły, formularze użytkownika i moduły klas.
- Okno kodu- w tym oknie umieszczany jest sam kod VBA. Dla każdego obiektu wymienionego w eksploratorze projektu znajduje się okno kodu, takie jak arkusze, książki, moduły itp. W tym samouczku zobaczymy, że zarejestrowane makro znajduje się w oknie kodu modułu.
- Okno właściwości- w tym oknie możesz zobaczyć właściwości każdego obiektu. Często używam tego okna do zaznaczania obiektów lub zmiany ich właściwości.
- Okno bezpośrednie(okno podglądu) - Na początkowym etapie nie przyda Ci się. Jest to przydatne, gdy chcesz przetestować kroki lub podczas debugowania. Domyślnie nie jest wyświetlany i można go wyświetlić, klikając zakładkę „Widok” i wybierając opcję „Okno bezpośrednie”.
Kiedy zarejestrowaliśmy makro „InputText”, w edytorze VB wydarzyły się następujące rzeczy:
- Dodano nowy moduł.
- Makro zostało nagrane pod podaną przez nas nazwą - "InputText"
- Do okna kodu dodano nową procedurę.
Jeśli więc dwukrotnie klikniesz moduł (w naszym przypadku moduł 1), pojawi się okno kodu, jak pokazano poniżej.
Oto kod zarejestrowany przez rejestrator makr:
Sub TextIn() " "TextInput Macro " " Range("A2").Select ActiveCell.FormulaR1C1 = "Excel" Range("A3").Select End Sub
W języku VBA żaden wiersz następujący po znaku „ (apostrof) nie jest wykonywany. Jest to komentarz, który służy wyłącznie do celów informacyjnych. Jeśli usuniesz pierwsze pięć wierszy tego kodu, makro nadal będzie działać.
Przejdźmy teraz przez każdą linię kodu i opiszmy, co i dlaczego.
Kod zaczyna się od Pod po którym następuje nazwa makra i puste nawiasy. Sub to skrót od podprogramu. Każdy podprogram (zwany również procedurą) w VBA zaczyna się od Pod i kończy napis końcowy.
- Zakres("A2").Wybierz - ta linia wybiera komórkę A2.
- ActiveCell.FormulaR1C1 = "Excel" - Ten wiersz wprowadza tekst "Excel" w aktywnej komórce. Ponieważ wybraliśmy komórkę A2 jako pierwszy krok, staje się ona naszą aktywną komórką.
- Zakres("A3").Wybierz - wybierz komórkę A3. Dzieje się tak, gdy po wpisaniu tekstu naciśniemy klawisz Enter, co spowoduje zaznaczenie komórki A3.
Mam nadzieję, że masz podstawową wiedzę na temat rejestrowania makra w programie Excel.
Należy pamiętać, że kod rejestrowany przez rejestrator makr z reguły nie jest wydajnym i zoptymalizowanym kodem. Rejestrator makr często dodaje dodatkowe niepotrzebne akcje. Ale to nie znaczy, że nie powinieneś używać rejestratora makr. Dla tych, którzy dopiero uczą się VBA, rejestrator makr może być świetnym sposobem na analizę i zrozumienie, jak wszystko działa w VBA.
Bezwzględna i względna notacja makro
Czy wiesz już o odniesieniach bezwzględnych i względnych w programie Excel? Jeśli użyjesz odwołania bezwzględnego do zarejestrowania makra, kod VBA zawsze będzie odwoływał się do tych samych komórek, których użyłeś. Na przykład, jeśli wybierzesz komórkę A2 i wpiszesz tekst „Excel”, to za każdym razem - bez względu na to, gdzie jesteś na arkuszu i bez względu na wybraną komórkę, twój kod wprowadzi tekst „Excel” w komórce A2.
Jeśli użyjesz opcji odniesienia względnego do zarejestrowania makra, VBA nie połączy się z określonym adresem komórki. W takim przypadku program „przesunie się” względem aktywnej komórki. Załóżmy na przykład, że wybrałeś już komórkę A1 i rozpoczynasz nagrywanie makra w trybie odniesienia względnego. Teraz wybierz komórkę A2, wpisz tekst Excel i naciśnij klawisz Enter. Teraz, jeśli uruchomisz to makro, nie powróci ono do komórki A2, zamiast tego przesunie się względem aktywnej komórki. Na przykład, jeśli zaznaczona jest komórka B3, zostanie ona przeniesiona do B4, wpisz tekst „Excel”, a następnie przeskoczy do komórki K5.
Teraz napiszmy makro w trybie referencji względnej:
Makro w trybie odniesienia względnego zostanie zapisane.
Teraz wykonaj następujące czynności.
- Wybierz dowolną komórkę (z wyjątkiem A1).
- Przejdź do zakładki „Programista”.
- W grupie Kod kliknij przycisk Makra.
- W oknie dialogowym „Makro” kliknij zapisane makro „RelativeReferences”.
- Kliknij przycisk „Uruchom”.
Jak zauważysz, makro nie zapisało tekstu „Excel” do komórek A2. Stało się tak, ponieważ nagrałeś makro w trybie odniesienia względnego. W ten sposób kursor porusza się względem aktywnej komórki. Na przykład, jeśli zrobisz to, gdy zaznaczona jest komórka B3, zostanie wprowadzony tekst programu Excel — komórka B4 i ostatecznie wybierze komórkę B5.
Oto kod zarejestrowany przez rejestrator makr:
Zwróć uwagę, że w kodzie nie ma odwołań do komórek B3 ani B4. Makro używa Activecell do odwoływania się do bieżącej komórki i przesunięcia względem tej komórki.
Zignoruj część kodu dotyczącą zakresu („A1”). Jest to jeden z tych przypadków, w których rejestrator makr dodaje niepotrzebny kod, który jest bezcelowy i można go usunąć. Bez tego kod będzie działał dobrze.
Czego nie można zrobić za pomocą rejestratora makr?
Rejestrator makr doskonale sprawdza się w programie Excel i rejestruje dokładne kroki, ale może nie być dobrym rozwiązaniem, gdy trzeba zrobić coś więcej.
- Nie można wykonać kodu bez wybrania obiektu. Na przykład, jeśli chcesz, aby makro przechodziło do następnego arkusza i zaznaczało wszystkie wypełnione komórki w kolumnie A bez opuszczania bieżącego arkusza, rejestrator makr nie może tego zrobić. W takich przypadkach musisz ręcznie edytować kod.
- Za pomocą rejestratora makr nie można utworzyć funkcji niestandardowej. Dzięki VBA możesz tworzyć niestandardowe funkcje, których można używać w arkuszu jako zwykłych funkcji.
- Za pomocą rejestratora makr nie można tworzyć pętli. Ale możesz nagrać jedną akcję i ręcznie dodać cykl w edytorze kodu.
- Nie możesz analizować warunków: możesz sprawdzić warunki w kodzie za pomocą rejestratora makr. Jeśli ręcznie piszesz kod VBA, możesz użyć instrukcji IF Then Else, aby przeanalizować warunek i uruchomić kod, jeśli jest prawdziwy (lub inny kod, jeśli jest fałszywy).
Rozszerzenie plików Excela, które zawierają makra
Podczas rejestrowania makra lub ręcznego rejestrowania kodu VBA w programie Excel należy zapisać plik z rozszerzeniem pliku obsługującym makra (xlsm).
Przed programem Excel 2007 wystarczał jeden format pliku, .xls. Ale od 2007 r. .xlsx został wprowadzony jako standardowe rozszerzenie pliku. Pliki zapisane jako .xlsx nie mogą zawierać makra. Więc jeśli masz plik z rozszerzeniem .xlsx i zapiszesz/nagrasz makro i zapiszesz je, ostrzeże Cię przed zapisaniem go w formacie obsługującym makra i wyświetli następujące okno dialogowe:
Jeśli wybierzesz opcję Nie, program Excel zapisze plik w formacie obsługującym makra. Ale jeśli klikniesz Tak, program Excel automatycznie usunie cały kod ze skoroszytu i zapisze plik jako skoroszyt w formacie .xlsx. Jeśli więc skoroszyt zawiera makro, musisz je zapisać w formacie .xlsm, aby zapisać to makro.
Kiedy wszystko jest gotowe, zaczynamy nagrywanie.
Uruchamianie makra
Aby sprawdzić, jak działa nagrane makro, wykonajmy kilka prostych kroków.
Edycja makr
Oczywiście, jeśli chcesz, możesz poprawić utworzone makro, aby zawsze było aktualne i poprawić niektóre niedokładności powstałe podczas procesu nagrywania.
- Kliknij ponownie przycisk „Makra”. W oknie, które się otworzy, wybierz żądany i kliknij przycisk "Zmiana".
- otwiera się "Microsoft Visual Basic"(VBE) - środowisko, w którym są edytowane.
- Każdy wpis makra rozpoczyna się poleceniem Sub i kończy poleceniem End Sub. Zaraz po Sub jest nazwa makra. Instrukcja Range("…").Select określa wybór komórki. Na przykład za pomocą polecenia "Zakres("C4").Wybierz" komórka jest zaznaczona „C4”. Operator ActiveCell.FormulaR1C1 służy do rejestrowania akcji w formułach i innych obliczeniach.
- Spróbujmy trochę zmienić makro, dodając wyrażenie:
Zakres ("C3").Wybierz
ActiveCell.FormułaR1C1 = "11" - Zamień ActiveCell.FormulaR1C1 = "=R[-3]C+R[-2]C+R[-1]C" na ActiveCell.FormulaR1C1 = "= R[-4]C+R[-3]C+ R[ -2]C+R[-1]C" .
- Zamknij edytor i uruchom makro. Jak widać, w związku z wprowadzonymi przez nas zmianami została dodana dodatkowa komórka z danymi. Został również uwzględniony w obliczeniach sumy.
- Jeśli makro jest zbyt duże, jego wykonanie może zająć dużo czasu, ale wprowadzając ręczne zmiany w kodzie, możemy przyspieszyć ten proces. Dodaj polecenie Application.ScreenUpdating = False . To się utrzyma moc obliczeniowa a tym samym przyspieszyć pracę. Osiąga się to poprzez nieaktualizowanie ekranu podczas kroków obliczeniowych. Aby wznowić aktualizację po wykonaniu makra, na jego końcu piszemy polecenie Application.ScreenUpdating = True .
- Dodajmy również polecenie Application.Calculation = xlCalculationManual na początku kodu i dodajmy Application.Calculation = xlCalculationAutomatic na jego końcu. Robiąc to, najpierw wyłączamy automatyczne przeliczanie wyniku po każdej zmianie komórki, a na końcu makra włączamy je. W ten sposób Excel obliczy wynik tylko raz i nie będzie go stale przeliczał, co pozwoli zaoszczędzić czas.
Opcja 2: Pisanie kodu makr od podstaw
Zaawansowani użytkownicy mogą nie tylko edytować i optymalizować zarejestrowane makra, ale także pisać swój kod od podstaw.
Jak widać, makra w Microsoft Excel może znacznie uprościć realizację rutynowych i monotonnych procesów. Jednak w większości przypadków makra zakodowane ręcznie są do tego bardziej odpowiednie niż automatycznie rejestrowane czynności. Dodatkowo jego kod można zoptymalizować za pomocą edytora VBE, aby przyspieszyć proces realizacji zadania.
Dzień dobry!
Chcę poświęcić ten artykuł tak ogromnej części MS Excela jak makra, a raczej zacznijmy od nowa i przyjrzyjmy się, jak stworzyć makro w Excelu, do czego ono służy i jak go wykorzystać w swojej pracy.
Jak wiecie z własnego doświadczenia, podczas pracy z makrem jest dużo „rutyn”, czyli wykonuje się te same operacje i akcje, które są potrzebne do uzyskania wyniku, może to być wypełnianie tego samego typu tabel lub formularze, przetwarzanie danych, podobnie jak raporty tygodniowe dla bliźniaków, raporty miesięczne itp. Ale użycie makr pozwoli ci wykonywać te czynności automatycznie, wykorzystując w pełni możliwości programu Excel, odrzucając te rutynowe i monotonne operacje na potężne ramiona programu Excel. Powodem używania makr może być również dodanie niezbędnych funkcji, które nie zostały jeszcze zaimplementowane w standardowe funkcje Excel (na przykład wyjście, zbieranie danych na jednym arkuszu itp.).
Jeśli nigdy nie słyszałeś o makrze, najdokładniejsza definicja brzmiałaby: są to akcje zaprogramowane dla określonej sekwencji i napisane w środowisku programistycznym w języku Visual Basic for Applications (VBA). Uruchamianie makra może być wykonywane wielokrotnie, a to zmusi program Excel do wykonania dowolnej sekwencji działań, których potrzebujemy, których po prostu nie lubimy lub nie chcemy wykonywać ręcznie. Pomimo dużej różnorodności języków programowania dla całego kompleksu Microsoft Office VBA jest standardem i działa w każdej aplikacji pakietu biurowego.
Istnieją więc 2 sposoby tworzenia makra w programie Excel:
Utwórz makro w programie Excelz rejestratorem makr
Na początek wyjaśnijmy, czym jest rejestrator makr i co ma z nim wspólnego makro.
rejestrator makr- jest to niewielki program osadzony w Excelu, który interpretuje każdą akcję użytkownika w kodach języka programowania VBA i zapisuje otrzymane podczas pracy polecenia do modułu programu. Czyli jeśli my przy włączonym rejestratorze makr stworzymy potrzebny nam raport dobowy, rejestrator makr zarejestruje wszystko w swoich poleceniach krok po kroku i w efekcie stworzy makro, które automatycznie utworzy raport dzienny.
Ta metoda jest bardzo przydatna dla osób, które nie mają umiejętności i wiedzy z zakresu pracy w środowisku językowym VBA. Ale taka łatwość wykonania i nagrywania makra ma swoje wady, a także plusy:
- Rejestrator makr może nagrywać tylko to, co czuje, co oznacza, że może nagrywać akcje tylko wtedy, gdy używane są przyciski, ikony, polecenia menu i wszystko inne, takie opcje, które nie są dla niego dostępne;
- W przypadku popełnienia błędu podczas okresu nagrywania, zostanie on również zarejestrowany. Ale możesz użyć przycisku anulowania ostatnia akcja, usuń ostatnie polecenie, które napisałeś niepoprawnie w VBA;
- Nagrywanie w rejestratorze makr odbywa się tylko w granicach okna MS Excel, a w przypadku zamknięcia programu lub włączenia innego, nagrywanie zostanie zatrzymane i przestanie być wykonywane.
Aby włączyć rejestrator makr do nagrywania, musisz wykonać następujące czynności:
Kolejnym krokiem w pracy z rejestratorem makr będzie ustawienie jego parametrów do dalszego nagrywania makr, można to zrobić w oknie „Nagrywanie makr”, gdzie:
- pole nazwy makra- możesz napisać imię, które rozumiesz, w dowolnym języku, ale musi zaczynać się od litery i nie zawierać znaku interpunkcyjnego i spacji;
- pole skrótów klawiaturowych- będą używane przez Ciebie w przyszłości do szybki start Twoje makro. W przypadku konieczności zarejestrowania nowego, ta opcja będzie dostępna w menu „Serwis” – „Makro” – „Makra” – „Uruchom” lub na karcie "Deweloper" naciśnięcie przycisku „Makra”;
- Pole „Zapisz w…”- możesz określić miejsce, w którym tekst makra zostanie zapisany (ale nie wysłany), a są to 3 opcje:
- "Ta książka"— makro zostanie zapisane w module bieżącego skoroszytu i można je wykonać tylko wtedy, gdy ten skoroszyt Excela jest otwarty;
- "Nowa książka"- makro zostanie zapisane do szablonu, na podstawie którego zostanie utworzone puste w Excelu Nowa książka, co oznacza, że makro będzie od teraz dostępne we wszystkich skoroszytach, które będą tworzone na tym komputerze;
- „Osobista książka makro” to specjalny skoroszyt makr programu Excel o nazwie "Osobiste.xls" i jest używany jako specjalne repozytorium-biblioteka makr. Podczas uruchamiania makra z księgi Personal.xls są ładowane do pamięci i mogą być uruchamiane w dowolnej księdze w dowolnym momencie.
- Pole opisu- tutaj możesz opisać co i jak makro ma robić, dlaczego zostało stworzone i jakie funkcje niesie, jest to pole czysto informacyjne, które jest wywoływane dla pamięci.
Po uruchomieniu i nagraniu makra, po wykonaniu wszystkich niezbędnych czynności, możesz zatrzymać nagrywanie za pomocą polecenia "Zatrzymaj nagrywanie" i zostanie utworzone twoje makro z rejestratorem makr.
Utwórz makro w programie Excelw edytorze Visual Basic.
W tej metodzie przyjrzymy się, jak utworzyć makro w Excelu za pomocą edytora programu VBA, który, jak powiedziałem powyżej, jest wbudowany w dowolną wersję Excela.
Uruchamianie edytora programu VBA różni się w zależności od wersji programu Excel:
- w wersjach Excel 2003 i nowszych, potrzebujemy w menu "Usługa", Wybierz przedmiot „Makro” i naciśnij „Edytor Visual Basic”;
- w wersjach Excel 2007 i nowszych, musimy tab "Deweloper" naciśnij przycisk „Edytor Visual Basic”. W przypadku, gdy nie znajdziesz tej zakładki, musisz ją aktywować, wybierając pozycję menu „Plik” – „Opcje” – „Dostosuj wstążkę” i w oknie dialogowym zaznacz pole, aby aktywować kartę "Deweloper".
W oknie, które się otworzy, widać interfejs edytora VBA, wszystko jest tutaj napisane po angielsku i nie ma lokalizacji, nie trzeba szukać, ale po prostu zaakceptować i pracować, zwłaszcza że na początku jest to tylko niezrozumiałe, i wtedy wszystko będzie znajome.
Jak więc pracować w edytorze VBA, gdzie jest przechowywane i jak utworzyć makro w Excelu. Pytania tego rodzaju pojawiają się, gdy tylko zobaczysz redaktora, a teraz rozważymy je wszystkie.
Wszystkie nasze makra będą przechowywane w tzw moduły oprogramowania. W dowolnej z książek dowolnej wersji programu Excel możemy utworzyć dowolne moduły oprogramowania w dowolnej ilości i umieść w nich wszystkie stworzone przez nas makra. Jeden moduł może zawierać dowolną liczbę makr, które potrzebujesz lub utworzysz. Moduły dostępne w oknie Eksplorator projektów i znajdują się w lewym górnym rogu edytora makr (można je również wywołać za pomocą kombinacji klawiszy CTRL+R).
Moduły programu w edytorze VBA istnieją w kilku postaciach i są używane w różnych opcjach i sytuacjach:
Właściwie samo makro podczas pracy w standardowym module wygląda tak:
Rozważ przykład działającego makra:
- Wszystkie makra koniecznie zaczynają się od operatora Pod, po której następuje nazwa makra i lista argumentów w nawiasach. W przypadku braku argumentów nawiasy należy pozostawić puste;
- Bez wątpienia wszystkie makra kończą się operatorem napis końcowy;
- Dane, które są między operatorami Pod oraz napis końcowy, to treść makra, które zostanie uruchomione po uruchomieniu makra. W tym przykładzie makro sprawdza i po wprowadzeniu znajduje je na liście bazy danych i wyprowadza wartość określoną przez kryteria.
Jak widać, drugi sposób jest trudniejszy w użyciu i zrozumieniu, jeśli nie masz doświadczenia w programowaniu w ogóle lub w VBA w szczególności. Bardzo trudno jest zrozumieć i zrozumieć, jakie polecenia i jak są wprowadzane, jakich argumentów używa, aby makro zaczęło automatycznie wykonywać swoją pracę. Ale droga zostanie opanowana przez chodzącego, jak mówili starożytni mędrcy, i dlatego nie należy się poddawać, ale przestrzegać przykazań dziadka Lenina ...
Tworzenie przycisku do uruchamiania makr na pasku narzędzi
Jak powiedziałem wcześniej, możesz wywołać procedurę makr za pomocą kombinacji klawiszy skrótu, ale bardzo żmudne jest zapamiętywanie, która kombinacja jest przypisana do kogo, więc najlepiej jest utworzyć przycisk do uruchamiania makra. Przyciski można tworzyć kilku typów, a mianowicie:
Ta metoda jest dostępna dla dowolnej wersji MS Excel i polega na tym, że przeniesiemy przycisk bezpośrednio do naszego arkusza roboczego jako obiekt graficzny. Do tego potrzebujesz:
- W MS Excel 2003 i nowszych przejdź do menu "Pogląd", wybierać "Pasek narzędzi" i naciśnij przycisk „Formularze”.
- W MS Excel 2007 i nowszych potrzebujesz na karcie "Deweloper" otwórz menu rozwijane "Wstawić" i wybierz obiekt "Przycisk".
Po tym wszystkim musisz narysować przycisk na swoim arkuszu, przytrzymując lewy przycisk myszy. Po zakończeniu procesu rysowania automatycznie włączy się okno, w którym należy wybrać makro, które ma zostać wykonane po kliknięciu przycisku.
Jak tworzyć niestandardowe funkcje w VBA
W zasadzie tworzenie tak zwanych funkcji zdefiniowanych przez użytkownika nie różni się zbytnio od tworzenia normalnego makra w standardowym module programu. Różnica między tymi pojęciami polega na tym, że makro wykona związane z nim działania z obiektami książki lub arkusza (są to formuły, komórki itp.), ale funkcja zdefiniowana przez użytkownika działa tylko z wartościami że otrzymuje od nas i same argumenty są danymi początkowymi do obliczeń.
Na przykład, aby utworzyć niestandardową funkcję podatku od wartości dodanej, czyli VAT, musimy otworzyć nasz edytor VBA i dodać nowy moduł, wybierz z menu "Wstawić" ustęp moduł i wpisz tam tekst dla naszej funkcji: Należy zauważyć, że główną różnicą między funkcją a makrem jest nagłówek funkcjonować zastąpiony Pod i jest wypełniona lista argumentów, w naszym przykładzie jest to Summa. Po wpisaniu naszego kodu będzie on dostępny w standardowym oknie Kreatora Funkcji, które znajduje się w menu „Formuły”, akapit „Wstaw funkcję”.
I wybierz kategorię "Określony przez użytkownika" w którym zostanie wyświetlona nasza pisemna funkcja NDS.
Po wybraniu naszej funkcji można najechać kursorem na komórkę z argumentem, która będzie zawierała kwotę, od której naliczamy VAT, wszystko dzieje się jak przy zwykłej funkcji.
I to wszystko co mam! Naprawdę mam nadzieję, że artykuł o tym, jak utworzyć makro w programie Excel był dla ciebie jasny i pomocny. Byłbym bardzo wdzięczny za pozostawione komentarze, ponieważ jest to wskaźnik czytelności i inspiruje mnie do pisania nowych artykułów! Podziel się ze znajomymi, przeczytaj i polub!