190 likes | 453 Views
AUTOMATYZACJA PRACY W EXCELU. Tworzenie makro definicji. Definicja makra. Makrodefinicja (makra) jest zapisaną sekwencją czynności, którą można uruchomić przez wybranie z listy makr lub wciśnięcie kombinacji klawiszy przypisanej do makra. Tworzenie makr.
E N D
AUTOMATYZACJA PRACY W EXCELU Tworzenie makro definicji
Definicja makra • Makrodefinicja (makra) jest zapisaną sekwencją czynności, którą można uruchomić przez wybranie z listy makr lub wciśnięcie kombinacji klawiszy przypisanej do makra.
Tworzenie makr • Użytkownik może tworzyć własne makra uruchamiając polecenia MAKRO/MAKRA z menu Narzędzia • Lub przy pomocy VB uruchamiając polecenie Edytor Visual Basic z menu Narzędzia
Tworzenie makr • Ustaw poziom zabezpieczeń na Średni lub Niski. • W menu Narzędzia kliknij polecenie Opcje. • Kliknij kartę Zabezpieczenia. • W obszarze Zabezpieczenia makr kliknij przycisk Bezpieczeństwo makr. • Kliknij kartę Poziom zabezpieczeń, a następnie wybierz żądany poziom zabezpieczeń. • W menu Narzędzia wskaż polecenie Makro, a następnie kliknij polecenie Rejestruj nowe makro. • W polu Nazwa makra wprowadź nazwę dla makra. • Uwagi • Pierwszy znak nazwy makra musi być literą. Inne znaki mogą być literami, liczbami lub znakami podkreślenia. W nazwie makra niedozwolone są spacje; znaki podkreślenia mogą służyć do oddzielania słów. • Nie należy używać nazwy makra, która jest także odwołaniem do komórki. W przeciwnym przypadku będzie wyświetlony komunikat o błędzie informujący, że nazwa makra jest nieprawidłowa.
Tworzenie makr • Chcąc uruchamiać makro przez naciśnięcie klawisza skrótu, wprowadź literę w polu Klawisz skrótu. Można użyć kombinacji klawiszy CTRL+ litera (w przypadku małych liter) lub klawiszy CTRL+SHIFT+ litera (w przypadku wielkich liter), gdzie litera jest dowolną literą z klawiatury. Użyta litera klawisza skrótu nie może być liczbą ani znakiem specjalnym, takim jak @ lub #. • Uwaga Po otwarciu skoroszytu zawierającego makro klawisz skrótu zastępuje odpowiedni domyślny klawisz skrótu programu Microsoft Excel. • W polu Przechowuj makro w kliknij lokalizację, w której chcesz przechować makro. • Chcąc, aby makro było dostępne przy każdym użyciu programu Excel, zaznacz pozycję Osobisty skoroszyt makr.
Tworzenie makr • Jeżeli chcesz dołączyć opis makra, to wpisz go w polu Opis. • Kliknij przycisk OK. • Aby makro było uruchamiane względem położenia aktywnej komórki, zarejestruj je, używając względnych odwołań do komórki. Na pasku narzędzi Zatrzymywanie rejestracji kliknij przycisk Odwołanie względne , tak aby był zaznaczony. Program Excel będzie kontynuował rejestrowanie makr, używając względnych odwołań do momentu wyłączenia programu lub kliknięcia przycisku Odwołanie względne , tak aby przestał być zaznaczony. • Wykonaj akcje, które chcesz zarejestrować. • Na pasku narzędzi Zatrzymywanie rejestrowania kliknij przycisk Zatrzymaj rejestrowanie • W celu uruchomienia makra nacisnij kombinację klawiszy lub skorzystaj z polecenia Narzędzia/makro/makra.
Tworzenie makr (VB) Otwieramy nowy arkusz excela, wybieramy z menu: narzędzia makra Edytor Visual Basic
Tworzenie makr (VB) • otworzy nam się okno jak poniżej: Okno eksploratora Okno edycji
Tworzenie makr (VB) • Lewe okno to okno eksploratora projektu. Upewnijmy się, że aktywny jest zeszyt w którym tworzymy funkcję (kliknijmy dwa razy na jego nazwę w eksploratorze, nazwa zeszytu pojawi się w nagłówku edytora), a następnie wstawmy moduł makr - menu: "insert/module". Moduł to taki arkusz w którym są przechowywane makra. • Kliknijmy dwukrotnie na nasz moduł - szare okno z prawej - okno edycji - przybieże biały kolor. Wpiszmy tam następujący kod:
Pierwsza funkcja użytkownika • Załóżmy, że potrzebujemy funkcji obliczającej obwód koła. Wiadomo wzór to "2*Pi*R". • Wiemy też, że 2 oraz Pi są stałymi, zmienia się R. A więc do dzieła! • Kod wpisujemy w oknie edycji Public Function obwodkola(R) Pi = 3.1415926535 polekola = 2 * Pi * REnd Function
Pierwsza funkcja użytkownika • Pierwsza linia kodu (a dokładniej wyrażenie "Public Function") to instrukcja inicjująca funkcję, "polekola" to nazwa funkcji, oczywiście ta nazwa może być dowolna. • Litera w nawiasie to argument funkcji, może być ich więcej - wtedy należy oddzielać je przecinkami. • Ostatnia linia kodu to deklaracja końca funkcji. • Co się dzieje w środku? Druga linia przypisuje stałej "Pi" określoną wartość. I ponownie: to wcale nie musi być "Pi", może być np. "promień". • Trzecia linia kodu oblicza wartość naszej funkcji zgodnie ze wzorem na obwód koła,
Pierwsza funkcja użytkownika • Wróćmy teraz do excela (możemy zamknąć edytor Visual Basica). W komórce A1 wpiszmy dowolną liczbę, a w komórce A2: "=polekola(A1)", kliknijmy enter - jeżeli w komórce A2 pojawiła się liczba, to znaczy, że wszystkie kroki wykonaliśmy poprawnie. Jeżeli ktoś jest niedowiarkiem niech wynik sprawdzi na kalkulatorze. Twoja Pierwsza Funkcja gotowa.
Pierwsza funkcja użytkownika • UWAGA • Napisana przez nas funkcja jest dostępna w grupie funkcji użytkownika w oknie kreatora funkcji. • Jeżeli chcemy zachować efekt naszej pracy zapiszmy nasz skoroszyt - funkcja będzie zawsze dostępna - ale, uwaga! - tylko w tym jednym skoroszycie, tzn. wtedy kiedy skoroszyt jest otwarty.
Pierwsza funkcja MsgBox • Klasyczne ćwiczenie. Jeżeli już napisaliśmy naszą pierwszą funkcję to dojdźmy w tej chwili do momentu wstawiania kodu do modułu. • Wpiszmy w module taki kod: Sub HelloWorld() MsgBox "Hello World!" End Sub • Stańmy kursorem wewnątrz kodu i wciśnijmy klawisz F5. Excel wyświetli nam okno z tekstem "Hello World!". • "Sub" (subprogram) to procedura wykonująca linię po linii polecenia języka Visual Basic.
Pierwsza funkcja MsgBox • Teraz dodamy do arkusza przycisk wywołujący nasz komunikat. Z paska "przybornik formantów" wybierzmy przycisk polecenia (CommandButton) i osadźmy go w dowolnym arkuszu excela (klikamy na przycisk polecenia na pasku, a następnie klikamy w dowolne miejsce arkusza).
Pierwsza funkcja MsgBox • Klikamy teraz prawym klawiszem na na nasz przycisk i wybieramy "właściwości". Zmieniamy właściwość "caption" z "CommandButton1" na dowolny opis, np. "Hello World". Napis na przycisku zmieni się na właśnie "Hello World". Zamknijmy okno właściwości. • Ponownie klikamy prawym klawiszem na przycisk i wybieramy "kod". Otworzy się nam okno edytora VBA z początkiem i końcem procedury: Private Sub CommandButton1_Click()End Sub
Pierwsza funkcja MsgBox • Pomiędzy te dwie linie wpiszmy "HelloWorld" (bez cudzysłowów oczywiście). Zauważmy, że "HelloWorld" to nazwa naszej procedury, którą przygotowaliśmy na początku ćwiczenia (słowo występujące po "Sub"): Private Sub CommandButton1_Click() HelloWorld End Sub • Na pasku "przybornik formantów" wyłączmy jeszcze tryb projektowania (przycisk z ekierką, linijką i ołówkiem). Jeżeli teraz klikniemy utworzony przez na przycisk polecenia to zostanie wyświetlony nasz komunikat "Hello World!".
Suplement • Migająca komórka • Podgląd danych z innego arkusza • Makro działające po wybraniu określonej komórki
Dziękuje za uwagę Krzysztof Kornas