Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

AUTOMATYZACJA PRACY W EXCELU Tworzenie makro definicji.

Podobne prezentacje


Prezentacja na temat: "AUTOMATYZACJA PRACY W EXCELU Tworzenie makro definicji."— Zapis prezentacji:

1 AUTOMATYZACJA PRACY W EXCELU Tworzenie makro definicji

2 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. 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.

3 Tworzenie makr Użytkownik może tworzyć własne makra uruchamiając polecenia MAKRO/MAKRA z menu Narzędzia 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 Lub przy pomocy VB uruchamiając polecenie Edytor Visual Basic z menu Narzędzia

4 Tworzenie makr Uruchamia nie makra Nagrywanie nowego makra

5 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 menu Narzędzia wskaż polecenie Makro, a następnie kliknij polecenie Rejestruj nowe makro. W polu Nazwa makra wprowadź nazwę dla makra. W polu Nazwa makra wprowadź nazwę dla makra. Uwagi 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

6 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 lub #. 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 lub #. Uwaga Po otwarciu skoroszytu zawierającego makro klawisz skrótu zastępuje odpowiedni domyślny klawisz skrótu programu Microsoft Excel. 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. 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. Chcąc, aby makro było dostępne przy każdym użyciu programu Excel, zaznacz pozycję Osobisty skoroszyt makr.

7 Tworzenie makr Jeżeli chcesz dołączyć opis makra, to wpisz go w polu Opis. Jeżeli chcesz dołączyć opis makra, to wpisz go w polu Opis. Kliknij przycisk OK. 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. 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ć. Wykonaj akcje, które chcesz zarejestrować. Na pasku narzędzi Zatrzymywanie rejestrowania kliknij przycisk Zatrzymaj rejestrowanie 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. W celu uruchomienia makra nacisnij kombinację klawiszy lub skorzystaj z polecenia Narzędzia/makro/makra.

8 Okno: rejestruj makro

9 Zatrzymaj nagrywanie Odwołanie względne Pasek: Zatrzymaj rejestrowanie

10 Sposób zmiany koloru tła komórki

11 Uruchamianie makr Lista dostępnych makr Wykonanie makra wybranego z listy Edycja kodu utworzonego makra Wyświetlenie opcji wybranego makra

12 Tworzenie makr (VB) Otwieramy nowy arkusz excela, wybieramy z menu: narzędzia makra Edytor Visual Basic

13 Tworzenie makr (VB) otworzy nam się okno jak poniżej: otworzy nam się okno jak poniżej: Okno eksploratora Okno edycji

14 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. 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: Kliknijmy dwukrotnie na nasz moduł - szare okno z prawej - okno edycji - przybieże biały kolor. Wpiszmy tam następujący kod:

15 Pierwsza funkcja użytkownika Załóżmy, że potrzebujemy funkcji obliczającej obwód koła. Wiadomo wzór to "2*Pi*R". 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! Wiemy też, że 2 oraz Pi są stałymi, zmienia się R. A więc do dzieła! Kod wpisujemy w oknie edycji Kod wpisujemy w oknie edycji Public Function obwodkola(R) Pi = polekola = 2 * Pi * R End Function

16 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. 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. 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. 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ń". 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, Trzecia linia kodu oblicza wartość naszej funkcji zgodnie ze wzorem na obwód koła,

17 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. 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.

18 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.

19 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. Klasyczne ćwiczenie. Jeżeli już napisaliśmy naszą pierwszą funkcję to dojdźmy w tej chwili do momentu wstawiania kodu do modułu. pierwszą funkcję pierwszą funkcję Wpiszmy w module taki kod: Wpiszmy w module taki kod: Sub HelloWorld() MsgBox "Hello World!" End Sub 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!". 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. "Sub" (subprogram) to procedura wykonująca linię po linii polecenia języka Visual Basic.

20 Uruchomienie kodu modułu W tym miejscu wpisujemy kod

21 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). 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).

22 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. 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: 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

23 Przybornik formantów Przycisk akcji

24 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"): 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() Private Sub CommandButton1_Click() HelloWorld HelloWorld End Sub 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!". 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!".

25 Suplement Migająca komórka Migająca komórka Migająca komórka Migająca komórka Podgląd danych z innego arkusza Podgląd danych z innego arkusza Podgląd danych z innego arkusza Podgląd danych z innego arkusza Makro działające po wybraniu określonej komórki Makro działające po wybraniu określonej komórki Makro działające po wybraniu określonej komórki Makro działające po wybraniu określonej komórki

26 Migająca komórka Zamieszczony tutaj kod zmienia w odstępach co jedną sekundę formatowanie komórki co można wykorzystać do uzyskania efektu migającej czcionki, albo zmieniającego się tła komórki: Zamieszczony tutaj kod zmienia w odstępach co jedną sekundę formatowanie komórki co można wykorzystać do uzyskania efektu migającej czcionki, albo zmieniającego się tła komórki: Poniższy przykład zmienia formatowanie jak na zdjęciach powyżej. Poniższy przykład zmienia formatowanie jak na zdjęciach powyżej. Private zmiana As Boolean Sub UpdateClock() Dim zakres As Range Set zakres = Range("A1") If zmiana Then zakres.Interior.ColorIndex = xlNone zakres.Font.Color = vbBlack Else zakres.Interior.Color = vbBlack zakres.Font.Color = vbWhite End If zmiana = Not zmiana NextTick = Now + TimeValue("00:00:01") Application.OnTime NextTick, "UpdateClock" End Sub

27 Podgląd danych z innego arkusza Wprowadzając dane do pewnego arkusza musiałem mieć podgląd co znajduje się w komórce o takim samym adresie, ale w innym arkuszu (miał on nazwę 'Dane'). Ponieważ nie znam, żadnej wbudowanej funkcjonalności excela wykonującej to zadanie wykorzystałem okno komunikatu 'sprawdzania poprawności danych' oraz proste makro: Wprowadzając dane do pewnego arkusza musiałem mieć podgląd co znajduje się w komórce o takim samym adresie, ale w innym arkuszu (miał on nazwę 'Dane'). Ponieważ nie znam, żadnej wbudowanej funkcjonalności excela wykonującej to zadanie wykorzystałem okno komunikatu 'sprawdzania poprawności danych' oraz proste makro: Option Explicit Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim mysheet As Worksheet Dim tekst As String Set mysheet = Sheets("Dane") 'tutaj definiujemy z którego arkusza chcemy podglądać dane tekst= "Tekst komórki " & mysheet.Name & "!" & Target.Address & ": ''" 'tutaj definiujemy 'dodatkowy tekst jaki pojawi się w komunikacie tekst = tekst & mysheet.Range(Target.Address).Text & "''" With Selection.Validation.Delete.Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop.InputMessage = tekst End With End Sub 'dodatkowy tekst jaki pojawi się w komunikacie tekst = tekst & mysheet.Range(Target.Address).Text & "''" With Selection.Validation.Delete.Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop.InputMessage = tekst End With End Sub Kod makra wstawiamy oczywiście w tym arkuszu, w którym chcemy uzyskać efekt. Kod makra wstawiamy oczywiście w tym arkuszu, w którym chcemy uzyskać efekt. W praktyce wygląda to tak: W praktyce wygląda to tak:

28 Makro działające po wybraniu określonej komórki Jak przypisać makro do entera, a dokładnie chodzi mi o to, by makro działało tylko wtedy, gdy aktywowana będzie dowolna komórka w kolumnie B. Kod należy wpisać do odpowiedniego arkusza: Private Sub Worksheet_SelectionChange(ByVal Target As Range) nrkoloumny = 2 'numer kolumny - B=2 If Target.Column = nrkolumny Then MsgBox "Działa!" 'tutaj Twoje Makro End If End Sub Jak przypisać makro do entera, a dokładnie chodzi mi o to, by makro działało tylko wtedy, gdy aktywowana będzie dowolna komórka w kolumnie B. Kod należy wpisać do odpowiedniego arkusza: Private Sub Worksheet_SelectionChange(ByVal Target As Range) nrkoloumny = 2 'numer kolumny - B=2 If Target.Column = nrkolumny Then MsgBox "Działa!" 'tutaj Twoje Makro End If End Sub

29 Dziękuje za uwagę Krzysztof Kornas


Pobierz ppt "AUTOMATYZACJA PRACY W EXCELU Tworzenie makro definicji."

Podobne prezentacje


Reklamy Google