Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

AUTOMATYZACJA PRACY W EXCELU

Podobne prezentacje


Prezentacja na temat: "AUTOMATYZACJA PRACY W EXCELU"— 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.

3 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

4 Nagrywanie nowego makra
Tworzenie makr Uruchamianie makra Nagrywanie nowego makra

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

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

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

8 Okno: rejestruj makro

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

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

11 Uruchamianie makr Wykonanie makra wybranego z listy
Edycja kodu utworzonego makra Lista dostępnych makr 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:
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. 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". 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 =     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. 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,

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.

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

20 W tym miejscu wpisujemy kod
Uruchomienie kodu modułu

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

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. 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 Przycisk akcji Przybornik formantów

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"): 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!".

25 Suplement Migająca komórka Podgląd danych z innego arkusza
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: 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: 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 Kod makra wstawiamy oczywiście w tym arkuszu, w którym chcemy uzyskać efekt.  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

29 Dziękuje za uwagę Krzysztof Kornas


Pobierz ppt "AUTOMATYZACJA PRACY W EXCELU"

Podobne prezentacje


Reklamy Google