Makrodefinicje w Excelu
Makrodefinicje w Excelu
• Wcześniej czy później w trakcie pracy z MS Excel spotkasz się z koniecznością
wielokrotnego powtarzania tych samych czynności lub wykonywania długich
sekwencji obliczeń w celu wyznaczenia wartości jakiejś funkcji.
• W obu przypadkach narzędziem, które może pomóc, są makrodefinicje, w
pierwszym będą to makropolecenia, a w drugim - makrofunkcje.
Pod pojęciem makrodefinicji będziemy tutaj rozumieli procedurę języka VBA
( Visual Basic for Applications).
Sub PrintRegion()
Selection.CurrentRegion.Select
Selection.PrintOut Copies:=1,
Collate:=True
End Sub
Procedurą języka VBA jest grupa poleceń, która wykonuje ciąg czynności lub
zwraca wartość. Z punktu widzenia języka programowania kod
makropolecenia zawarty jest między parą linii kodu Sub Nazwa () i End Sub.
Przykładem
konstrukcji
makropolecenia
procedura
zaznaczająca i drukująca zawartość
wybranego obszaru arkusza.
Makrodefinicje w Excelu
Makrodefinicje w Excelu
Makrofunkcja to procedura zwracająca wartość obliczoną w oparciu o
dostępne argumenty. Kod makrofunkcji zawarty jest pomiędzy para linii
kodu Function Nazwa ( lista argumentów oddzielona
przecinkami) i End Function.
Przykładem może być procedura
dodająca wartość 1 do
istniejącej wartości ( wyrażenia
As Integer związane są z
deklaracją typu zmiennej)
Function Dodaj jeden (Value as
Integer) as Integer
DodajJeden=Value +1
End Function
Dla jakich zadań warto
tworzyć własne makropolecenia ?
Dla jakich zadań warto
tworzyć własne makropolecenia ?
Praktyka dowodzi, że przykładem takich zadań mogą być:
• Formatowanie i drukowanie różnego typu raportów
• Nadzór nad prawidłowym wypełnianiem różnych formularzy Excela
• Konsolidowanie danych pochodzących z różnych skoroszytów w
jednym skoroszycie głównym
• Importowanie i drukowanie ( plotowanie ) wykresów
• Przypisanie skrótów klawiszowych do często używanych poleceń ( grup
poleceń)
• Wybór odpowiedniego autoformatowania do wybranego zakresu
arkusza / skoroszytu
• Autowypełnianie kolumn bieżącego arkusza.
Sposoby tworzenia makrodefinicji
Sposoby tworzenia makrodefinicji
Stosowane są dwie metody tworzenia makrodefinicji:
1. Rejestracja przy wykorzystaniu dostępnego w menu Narzędzia
/ Makro / Zarejestruj nowe makro. Nie musimy dysponować
żadna wiedzą na temat programowania, ponieważ rejestrator
sam utworzy odpowiedni kod w języku VBA.
2. Wpisywanie kodu w języku VBA w module udostępnionym w
menu Narzędzia / Makro / Edytor Visual Basic. W tym
przypadku po otwarciu środowiska programistycznego należy,
korzystając z menu Wstaw / Moduł otworzyć miejsce, w którym
będzie wpisywany kod.
Oba wymienione typy makrodefinicji wymagają różnego sposobu
uruchamiania.
Etapy rejestracji makropoleceń
Etapy rejestracji makropoleceń
Proces rejestracji makropolecenia można podzielić na następujące trzy etapy:
1.Etap 1 – przygotowanie merytoryczne i metodologiczne zadania. Jego istotą
jest wybór metody ( algorytmu) realizacji zadania, a następnie jego
optymalizacja. Kolejny krok to wykonanie zadania bez rejestracji ( „na sucho”) i
ocena uzyskanych rezultatów. Jeśli wynik jest pomyślny, można przystąpić do
etapu 2.
2.Etap 2 - powtórzenie etapu 1, czyli wykonanie ciągu czynności z
uaktywnionym rejestratorem – przez wybór polecenia Narzędzia / Makro /
Zarejestruj nowe makro . Po zakończeniu rejestracji należy ją przerwać klikając
przycisk Zatrzymaj rejestrowanie na pasku narzędzi lub wybierając Narzędzia /
Makro / Zatrzymaj rejestrowanie
3.Etap 3 - to kontrola pracy makropolecenia, jego ewentualna edycja i
przypisanie do odpowiednich obiektów na ekranie ( przycisku, istniejącego
menu, menu makr lub obiektów graficznych ).
Rejestracja makropolecenia - Etap I
Rejestracja makropolecenia - Etap I
Ćwiczenie:
Zarejestruj makropolecenie, które wymusi we wskazanym obszarze arkusza
zmianę stylu czcionki na pogrubioną.
• Etap 1 - na tym etapie należy ustalić i sprawdzić działanie ciągu
czynności prowadzących do zmiany stylu czcionki w wybranym obszarze
W tym celu należy:
- zaznaczyć obszar, w którym ma nastąpić zmiana stylu tu (A1:B10)
- z menu wybrać polecenie Format / Komórki i następnie kartę Czcionka
- w obszarze Styl czcionki wskazać opcję Pogrubiony i zatwierdzić
- sprawdzić działanie ustalonej zmiany stylu.
Jeśli uzyskaliśmy oczekiwany wynik, można przystąpić do rejestracji
makropolecenia, czyli Etapu 2.
Rejestracja makropolecenia - Etap II
Rejestracja makropolecenia - Etap II
Ćwiczenie cd.:
• Etap 2 - rozpoczynamy rejestrację.
Zaznaczamy obszar.
• Wybieramy polecenie Narzędzia / Makro /
Zarejestruj
nowe
makro.
Wpisz nazwę dla makropolecenia. Określ
wciśnięcie
jakiej
kombinacji
klawiszy
uruchomi
zarejestrowane
makro.
„Obowiązkowym elementem” kombinacji jest
wciśnięcie
klawisza
[Ctrl]
Zaleca się dodawanie do kombinacji klawisza
[Shift].
Wynika
to
z
tego,
że program wykorzystuje minimalną liczbę
kombinacji klawiszy [Ctrl]i [Shift]. Należy
pamiętać, że jeżeli utworzymy skrót, który
będzie się pokrywać z istniejącym w Excelu,
to zastąpi on istniejący,zmieniając działanie
odpowiednich poleceń i funkcji.
Rejestracja makropolecenia - Etap II
Rejestracja makropolecenia - Etap II
Ćwiczenie cd.:
• Ustal miejsce przechowywania
makro, korzystając z dostępnej
listy.
Będzie od niego zależeć zasięg
działania makra.
Ten skoroszyt - działanie makropolecenia ograniczone jest do skoroszytu, w
którym zostało utworzone, czyli będzie dostępne tylko po otwarciu tego
skoroszytu.
Skoroszyt makr osobistych - zapisujemy w nim te makra, które mają być
dostępne bezpośrednio po uruchomieniu Excela.Skoroszyt makr osobistych to
skoroszyt ukryty. Excel automatycznie tworzy plik o nazwie Personal.xls w
domyślnym katalogu startowym Excela. W przypadku wyboru skoroszytu makr
osobistych, przy zamykaniu Excela pojawi się komunikat proponujący
zapisanie zmian w pliku tego skoroszytu
Rejestracja makropolecenia - Etap II
Rejestracja makropolecenia - Etap II
Ćwiczenie cd.:
•
Możesz
umieścić
dodatkowe
informacje
w
polu
Opis
o
zarejestrowanym makropoleceniu.Pole te nie ma wpływu na działanie
makra.
•
Po ustaleniu warunków rejestracji i działania makra naciśnij OK.
Wyświetlony
zostanie
przycisk
narzędzi Zatrzymaj rejestrowanie. Od tej chwili każda czynność
zostanie
zarejestrowana.
Jeśli wybierzesz Adresowanie względne zaznaczenie komórek w
ramach wykonywanego makra zależeć będzie od położenia aktywnej
komórki w czasie rejestracji makra.
•
Po zakończeniu czynności związanych z rejestracją makropolecenia,
kliknij przycisk przycisk Zatrzymaj rejestrowanie na pasku narzędzi
lub wybierz Narzędzia / Makro / Zatrzymaj rejestrowanie
Rejestracja makropolecenia - Etap III
Rejestracja makropolecenia - Etap III
Ćwiczenie cd.:
•
Etap
3
-
sprawdź
działanie
zarejestrowanego makra. W tym celu
skorzystaj z wybranej kombinacji klawiszy.
•
Zarejestrowane makro obejrzyj korzystając z
okna
dialogowego
Makro,
wywoływanego
poleceniem
Narzędzia / Makro / Makra. Korzystając z
tego
okna
możesz
zapoznać
się
z
istniejącymi makrami, usunąć je a przede
wszystkim dokonać edycji.
Rejestracja makropoleceń
w skoroszycie makr osobistych 1/3
Rejestracja makropoleceń
w skoroszycie makr osobistych 1/3
Ćwiczenie:
Zarejestruj makro, zmieniające kolor siatki w
skoroszycie makr osobistych.
• W celu wykonania zmiany należy dokonać zmiany
koloru siatki przez wybór z palety kolorów w
karcie Widok dostępnej po wydaniu polecenia
Narzędzia / Opcje.
• Zarejestruj polecenia, tym razem wybierając w
polu Przechowaj makro opcję Skoroszyt makr
osobistych. Nadaj nazwę KolorSiatki.
Próbując wykonać jakiekolwiek działania
dotyczące makra otrzymamy komunikat.
Aby przejść dalej należy wybrać Okno /
Odkryj
i wskaż odpowiedni skoroszyt.
Rejestracja makropoleceń
w skoroszycie makr osobistych 2/3
Rejestracja makropoleceń
w skoroszycie makr osobistych 2/3
Ćwiczenie cd.:
• Dopiero w tym momencie możemy podjąć działania w
odniesieniu
do
odkrytego
skoroszytu
makr
osobistych.Zakres działań, które można podjąć w
stosunku
do
zarejestrowanego
makropolecenia,
określany jest przez opcje udostępnianie za pomocą
przycisków w oknie dialogowym Makro.
• Zmień skrót klawiszowy z wykorzystaniem przycisku
Opcje
• Naciśnij przycisk Krokowo - uruchomisz makraw
trybie pracy krokowej, tzn. trybie, w którym każdy
wiersz kodu (każda instrukcja ) jest uruchamiany
oddzielnie.Otwarte okno prezentuje zintegrowane
środowiskouruchomieniowe Excela. Aktualnie istotny
dla
nas
jest
obszar
przechowujący
kod
makropolecenia, tzw.okno kodu. Widzimy w nim,
mimo że sami nie napisaliśmy ani jednego wiersza,
pełny kod naszego makropolecenia. Pierwszy wiersz
podświetlony jest kolorem żółtym. Aby przejść do
następnego, należykliknąć przycisk Continue lub
klawisz [F5]
Rejestracja makropoleceń
w skoroszycie makr osobistych 3/3
Rejestracja makropoleceń
w skoroszycie makr osobistych 3/3
Ćwiczenie cd.:
• Nie wnikając, na razie , w strukturę kodu
można zauważyć, że część kodu zawarta
jest w wierszach rozpoczynających się
od znaku apostrofu i wyświetlonych w
kolorze
zielonym.
Są
to
wiersze
komentarza – nie podlegają one
przetwarzaniu i mogą być „bezkarnie
zmieniane”. Porównaj ich zawartość z
wpisami
wykonanymi
wcześniej
w oknie dialogowym.
Tekst wpisany kolorem niebieskim np.
Sub
KolorSiatki() ... End Sub
to słowa
kluczowe VB i nie powinniśmy ich zmieniać. Widać, że pomiędzy nimi
zarejestrowane są wszystkie wykonane czynności.
Kod makra edytujemy tak samo jak w procesorze tekstu. Jeżeli np. w trakcie
pracy pomylimy się, to możemy cofnąć dokonaną zmianę, klikając przycisk
Cofnij.
Automatycznie wykonywane makra
Auto_xxx
Automatycznie wykonywane makra
Auto_xxx
• Excel rozpoznaje kilka nazw makr, jak : Auto_Open,
Auto_Close, Auto_Start oraz Auto_Exit. Jeżeli
utworzonemu przez nas makru nadamy którą z tych
nazw, to gdy tylko nastąpi akcja określona drugą
częścią nazwy makra – Excel będzie automatycznie
uruchamiać makro.
• Jeżeli
makra
Auto_Start
i
Auto_Exit
przechowywane są w w skoroszycie Persona.xls to są
one
uruchamiane
automatycznie
podczas
uruchamiania ( Start ) i zamykania (Exit) Excela.
• Makro Auto_Open i Auto_Close można
wykorzystać do włączania i wyłączania jakichś
funkcji związanych z otwieraniem lub zamykaniem
skoroszytu.
• O wykonaniu makr decyduje wybrany poziom
zabezpieczenia Excela. Możesz sprawdzić jego
ustawienie wybierając polecenieNarzędzia / Makro /
Zabezpieczenia.
Rejestracja makra Auto_Open
Rejestracja makra Auto_Open
.
Zarejestruj makro o nazwie Auto_Open, związane z
przełączeniem w tryb pełnoekranowy.
• Sprawdź działania makra przy wybranych różnych poziomach
zabezpieczenia
arkusza
–
średnim
i
wysokim.
Przy wysokim możesz spodziewać się problemów. Makro nie
zostaniewykonane ( nie pojawi się żaden komunikat ), a jak
spróbujesz uruchomićje ręcznie to pojawi się komunikat.
W przypadku poziomu średniego będzie możliwe jego
wykonanie
po
potwierdzeniu przez operatora potrzeby
.
Ćwiczenie:
W czasie pracy z obszernym arkuszem kalkulacyjnym niejednokrotnie zależy nam na
przedstawieniu na ekranie jak największej ilości danych Zarejestruj makro,
umożliwiające realizację polecenia Widok / Pełny Ekran po otwarciu skoroszytu
Wirusy w makrach
Wirusy w makrach
• Makrowirus można zdefiniować jako samopowielający się program
komputerowy, oparty w działaniu o środowisko,
w którym pliki danych są nie
tylko pasywnymi nośnikami informacji, lecz mogą zawierać aktywne
komendy służące (co najmniej) do manipulowania tym środowiskiem. W
aplikacjach komendy te można grupować w tzw. makropolecenia, czyli w
skrócie makra. Stąd pochodzi nazwa wirusów. Aby zrozumieć działanie
makrowirusów należy więc najpierw zrozumieć cel i sposób realizacji
makropoleceń w aplikacjach.
• Najpopularniejsze obiekty infekcji to pliki DOC (dokumenty: Word), XLS
(arkusze kalkulacyjne: Excel), SAM (dokumenty: AmiPro).
• Wirusy makro potrafią dokonywać zmian w naszych dokumentach:
przestawiać literki, coś dopisywać, coś skasować. Robią to długo i
niezauważalnie, a potem nagle okazuje się, że coś nie gra w budżecie firmy
przygotowanym w Excelu. Kopie zapasowe też są zakażone.
• Makrowirusy należą do jednej z najmłodszych rodzin wirusów.
Metody uruchamiania makropoleceń
Metody uruchamiania makropoleceń
Metoda uruchamiania
Zalety
Wady
Okno dialogowe Makro
Nie są wymagane dodatkowe operacje
podczas rejestracji.
Dłuższy czas dostępu do makra.
Skrót klawiaturowy
Szybki i łatwy w użyciu. Może być
dodany do istniejącego makra.
Trzeba pamiętać skróty ( a
czasem jest ich wiele).
Przycisk na pasku
narzędzi
Makra muszą być grupowane ze
względu na pełnione funkcje. Szybki
dostęp do poleceń. Dostęp do makr z
dowolnej części skoroszytu. Wygodne w
przypadku osób rozpoczynających pracę
z Excelem.
Przyciski są małe i czasami
trudno ustalić ich znaczenie.
Wymagają dodatkowych
nakładów pracy na ich
utworzenie.
Polecenie menu
Makra mogą być grupowane ze względu
na pełnione funkcje. Przyjazne dla
początkujących i przypadkowych
użytkowników. Dostęp do makr z
dowolnej części skoroszytu.
Menu są rzadziej używane przez
doświadczonych użytkowników.
Obiekt graficzny
Duża powierzchnia, którą możemy
kliknąć. Dużo miejsca na ewentualny
opis makra. Może być umieszczony
bezpośrednio w tym arkuszu
( skoroszycie), którego dotyczy.
Zbyt wiele obiektów
graficznych „zaśmieca”
skoroszyt. Obiekty dostępne są
tylko na konkretnym
skoroszycie i w określonym
miejscu
Przypisywanie makra do przycisku
narzędzi lub menu
Przypisywanie makra do przycisku
narzędzi lub menu
Ćwiczenie:
• Wydaj polecenie Widok / Paski narzędzi /Visual
Basic,kliknij prawym przyciskiem myszy
otwarty pasek i wybierz opcję Dostosuj.
Wyświetlone zostanie okno o tej samej nazwie.
• Na karcie Polecenia polu kategorie wskaż
pozycję Makra
• Aby dodać nowy przycisk do paska narzędzi,
należy przeciągnąć udostępnione w polu
Polecenia makro.
• Sprawdź działanie.
• Podobna
procedura
obowiązuje
przy
przypisywaniu
przycisku
do
menu.
W tym celu przeciągnij wybrane polecenie na tę
pozycję w pasku menu, do której zamierzamy
dodać nowe polecenie.
W przypadku Excela procesy przypisywania makra do przycisku na wybranym pasku
narzędzi lub do menu są bardzo podobne.
Edycja dodanego przycisku
Edycja dodanego przycisku
Ćwiczenie:
• Kliknij prawym przyciskiem myszy otwarty
pasek i wybierz opcję Dostosuj.
Wyświetlone zostanie okno o tej samej
nazwie.
• Kliknij przycisk do edycji prawym
przyciskiem myszy i zmień nazwę przycisku
• Wybierz polecenie Zmień obraz przycisku.
Dokonaj wyboru grafiki.
• Dokonaj zmiany kontroli sposobu
wyświetlania przycisku na pasku narzędzi i
pozycji menu na Obraz i tekst
• Po dokonaniu zmian zamknij okno
dialogowe Dostosuj.
Tworzenie nowego paska narzędzi
lub menu dla makropoleceń
Tworzenie nowego paska narzędzi
lub menu dla makropoleceń
Ćwiczenie:
• Kliknij prawym przyciskiem myszy otwarty
pasek i wybierz opcję Dostosuj. Wyświetlone
zostanie
okno
o tej samej nazwie. Uaktywnij kartę Paski
narzędzi.
• Kliknij przycisk Nowy. Otwarte zostanie okno
dialogowe Nowy pasek narzędzi. Wpisz swoja
nazwę
i zatwierdź.
• Skopiuj przyciski z innego paska – klikając go
i
przeciągając
wybrane
przyciski
przy
wciśniętych klawiszach [Ctrl] + [Alt]
• Dodaj nowe przyciski, uaktywniając kartę
Polecenia
i wybierając odpowiednią kategorię. Następnie
przeciągając przyciski na pasek użytkownika.
W przypadku, gdy tworzymy większą ilość makropoleceń, które chcemy
jeszcze dodatkowo pogrupować według kategorii, wygodne może być
utworzenie przeznaczonych wyłącznie dla nich pasków narzędzi lub menu.
Tworzenie menu użytkownika
Tworzenie menu użytkownika
Ćwiczenie:
• Kliknij prawym przyciskiem myszy otwarty
pasek i wybierz opcję Dostosuj. Wyświetlone
zostanie okno o tej samej nazwie. Uaktywnij
kartę Polecenia.
• W polu Kategorie wybierz pozycję Nowe
menu.
• Wskaż pozycje Nowe menu i trzymając
wciśnięty lewy przycisk myszy, przeciągnij ją
w żądane miejsce na pasku menu.
• Utwórz pozycję menu przeciągając potrzebne
pozycje z innych menu
• Aby dodać do przycisku makro, należy kliknąć
prawym przyciskiem myszy utworzone menu
i wybrać polecenie Przypisz makro. Dalej
postępujemy tak, jak podczas opisanego już,
tworzenia pasków narzędzi.
Menu użytkownika tworzymy w celu zgrupowania poleceń związanych z
konkretnymi potrzebami w zakresie organizacji pracy z komputerem. Może
ono zawierać typowe, często używane polecenia lub pozycje z przypisanymi
makropoleceniami.
Przypisywanie makra do obiektu
graficznego
Przypisywanie makra do obiektu
graficznego
Przypisywanie makra do obiektu graficznego nie różni się od omówionych wcześniej
operacji. Obiektem może być przycisk utworzony w arkuszu za pomocą narzędzi
udostępnionych na pasku Formularze.
Ćwiczenie:
• Otwórz pasek narzędzi do tworzenia formularzy
poleceniem Widok / Paski narzędzi / Formularze
• Wybierz z paska przycisk i przeciągnij na arkusz
• W otwartym oknie Przypisz makro wybierz odpowiednie
makro.
• Sprawdź działanie makra.
Podobnie postępujemy w przypadku przypisywania makra do
obiektu typu rysunek, fotografia itp.. Jedyną różnicą jest fakt, że
należy samodzielnie korzystając z menu kontekstowego, otworzyć
okno dialogowe Przypisz makro.