ou lab vba 1

background image

Visual Basic w programie Excel

dla Windows

Ćwiczenie nr 1

Makrodefinicje.

Zakres ćwiczenia:

Nagrywanie, odtwarzanie, modyfikowanie i upraszczanie makrodefinicji.

Makrodefinicje lokalne i globalne. Przyporządkowanie makrodefinicji do pozycji w menu,

pasku narzędziowym i do przycisków. Kilka użytecznych funkcji do dialogu z

użytkownikiem.

Wstęp

Microsoft Excel pozwala na zautomatyzowanie często wykonywanych sekwencji

czynności za pomocą Visual Basica będącego wbudowanym językiem programowania

o dużych możliwościach.

Znajomość zagadnień programowania nie jest niezbędna do korzystania z tych możli-

wości. Microsoft Excel posiada wbudowany Rejestrator Makrodefinicji, który tworzy kod

Visual Basica.

Microsoft Excel automatyzuje zadania za pomocą makrodefinicji. Makrodefinicja jest

serią komend wykonywanych automatycznie. Rejestrowanie własnych makrodefinicji

pozwala na dopasowanie Excela do własnych potrzeb i uczynienie swej pracy bardziej

efektywną. Każda sekwencja czynności może być zarejestrowana. Następnie makrodefinicję

można uruchomić aby zarejestrowane czynności zostały powtórzone automatycznie. Zapisaną

makrodefinicję można powiązać z elementem menu lub przyciskiem

Nagrywanie makrodefinicji

Pierwszym krokiem do zautomatyzowania zadań w Excelu jest zapisanie makrodefini-

cji. Patrz rys. 1.

1. Wybierz Narzędzia / Zarejestruj makro / Zarejestruj nowe makro.

background image

2. W polu Nazwa Makra wpisz nazwę makrodefinicji. Nazwa może zawierać litery cyfry

i znaki podkreślenia, musi zaczynać się od litery. Nazwa nie może zawierać spacji i

znaków przystankowych.

3. W polu Opis wprowadź opis makrodefinicji.

4. Aby ustawić opcje dla makrodefinicji wybierz przycisk Opcje. Dla pełnego opisu opcji

skorzystaj z pomocy programu Microsoft Excel.

5. Wybierz przycisk OK. Podczas pracy Rejestratora makr na ekranie pojawia się przycisk

Koniec.

6. Przeprowadź operacje, które chcesz zapisać.

7. Naciśnij przycisk Koniec. Rejestrację makrodefinicji można także zakończyć poleceniem

Narzędzia / Zarejestruj makro / Zatrzymaj rejestrowanie.

Rys. 1. Okno dialogowe Zarejestruj nowe makro.

Uruchamianie makrodefinicji

Zapisaną makrodefinicję można uruchomić w dowolnej chwili. Microsoft Excel

wykona wtedy wszystkie polecenia zapisane w makrze (rys.2).

1. Wybierz Narzędzia / Makro.

2. W polu Nazwa / adres makra wpisz lub wybierz nazwę makrodefinicji.

3. Wciśnij przycisk Uruchom.

background image

Rys. 2. Okno dialogowe Makro.

Używanie paska narzędzi Visual Basic

Pasek

narzędzi Visual Basic (rys. 3) można wyświetlić wybierając Widok / Paski

narzędzi. Kilka z przycisków na tym pasku można używać do rejestrowania, uruchamiania

bądź zatrzymywania makrodefinicji.

Rys. 3. Pasek narzędzi Visual Basic.

Przyporządkowanie makrodefinicji do pozycji w menu

Zarejestrowane makro może zostać przypisane do menu Narzędzia, a następnie

używane tak jak każda inna komenda z menu (rys. 6).

1. Wybierz Narzędzia / Makro.

2. W polu Nazwa / adres makra wpisz lub wybierz nazwę makrodefinicji.

background image

3. Wciśnij przycisk Opcje.

4. W polu Przypisz do zaznacz pole Pozycja menu w menu "Narzędzia", a następnie wpisz

nazwę komendy jaka ma pojawić się w menu Narzędzia.

5. Wciśnij przycisk OK.

6. Wciśnij przycisk Zamknij.

Przyporządkowanie makrodefinicji do przycisku na arkuszu.

W Microsoft Excel można stworzyć na arkuszu lub wykresie przycisk, a następnie

przypisać do niego makrodefinicję. Wciśnięcie takiego przycisku spowoduje uruchomienie

powiązanej z nim makrodefinicji. makrodefinicja taka jest dostępna zawsze gdy otwarty jest

dokument zawierający przycisk, do którego została przypisana.

1. Wciśnij przycisk Utwórz przycisk na pasku narzędziowym Rysowanie.

2. Wskaż kursorem myszy położenie pierwszego rogu przycisku.

3. Ustaw odpowiadający ci rozmiar i kształt przycisku. Kiedy zwolnisz przycisk myszy

zostanie otworzone okno dialogowe Przypisz makro.

4. Aby przypisać do tworzonego przycisku istniejącą makrodefinicję wpisz lub wybierz

nazwę makrodefinicji w polu Nazwa / adres makra i wciśnij przycisk OK.

Aby utworzyć nową makrodefinicję i przypisać ją do przycisku wciśnij przycisk Rejestruj

i dalej postępuj jak przy rejestracji makrodefinicji.

Przyporządkowanie makrodefinicji do przycisku na pasku narzędziowym.

Jeżeli makrodefinicja zostanie przypisana do przycisku na pasku narzędziowym, jest

dostępna na każdym arkuszu należącym do dokumentu. Zwykle przycisk, z którym

powiązujemy makrodefinicję jest nie używanym przyciskiem użytkownika. Makrodefinicje

można przypisać także do wbudowanego przycisku, który jest już przez Microsoft Excel

używany. Powoduje to nadpisanie wbudowanej funkcji przez przypisywaną makrodefinicję.

Po

przyporządkowaniu makrodefinicji do przycisku, można przycisk umieścić na

dowolnym wbudowanym pasku narzędziowym lub stworzyć własny. Przycisk taki

funkcjonuje podobnie jak wszystkie oryginale przyciski Microsoft Excel (rys. 4 i rys. 5).

Przyporządkowanie makrodefinicji do przycisku wbudowanego:

1.

Wybierz Widok / Paski narzędzi.

2.

Wciśnij przycisk Dostosuj. Pojawi się okno dialogowe Dostosuj.

background image

3.

Jeżeli odpowiedni przycisk jest już wyświetlany na pasku narzędziowym wciśnij go, jeżeli

nie wybierz odpowiednią kategorie w polu Kategorie i przeciągnij przycisk do dowolnego

widocznego paska narzędziowego.

4.

Wybierz Narzędzia / Przypisz makro.

5.

Aby przypisać do tworzonego przycisku istniejącą makrodefinicję wpisz lub wybierz

nazwę makrodefinicji w polu Nazwa / adres makra i wciśnij przycisk OK.

Aby utworzyć nową makrodefinicję i przypisać ją do przycisku wciśnij przycisk Rejestruj

i dalej postępuj jak przy rejestracji makrodefinicji.

6.

Jeśli istnieje taka konieczność wciśnij przycisk Zamknij aby zamknąć okno dialogowe

Dostosuj.

Przyporządkowanie makrodefinicji do przycisku użytkownika:

1.

Wybierz Widok / Paski narzędzi.

2.

Aby umieścić przycisk na nowym pasku narzędziowym wprowadź nazwę paska w polu

Nazwa paska narzędzi i wciśnij przycisk Nowy.

Aby dodać przycisk do istniejącego paska narzędzi wybierz Dostosuj.

3.

W polu Kategorie wybierz przyciski użytkownika.

4.

Przeciągnij przycisk do dowolnego widocznego paska narzędzi. Przycisk zostanie dodany

do paska na wskazanej przez ciebie pozycji i otworzy się okno dialogowe Przypisz makro.

5.

Aby przypisać do tworzonego przycisku istniejącą makrodefinicję wpisz lub wybierz

nazwę makrodefinicji w polu Nazwa / adres makra i wciśnij przycisk OK.

Aby utworzyć nową makrodefinicję i przypisać ją do przycisku wciśnij przycisk Rejestruj

i dalej postępuj jak przy rejestracji makrodefinicji.

6.

Jeśli istnieje taka konieczność wciśnij przycisk Zamknij aby zamknąć okno dialogowe

Dostosuj.

background image

Rys. 4. Okno dialogowe Paski narzędzi.

Rys. 5. Okno dialogowe Dostosuj dla pasków narzędzi.

Zmiana makrodefinicji przypisanej do przycisku

Podczas pracy może okazać się konieczne zmienienie makrodefinicji przypisanej do

przycisku, zarejestrowanie dla niego nowej makrodefinicji lub przypisanie już istniejącej

makrodefinicji do nowego przycisku.

1. Trzymając wciśnięty klawisz CTRL wskaż wybrany przycisk.

2. Wybierz Narzędzia / Przypisz makro.

3. Aby przypisać do przycisku istniejącą makrodefinicję wpisz lub wybierz nazwę

makrodefinicji w polu Nazwa / adres makra i wciśnij przycisk OK.

Aby usunąć makrodefinicję powiązaną z przyciskiem usuń nazwę makrodefinicji z pola

Nazwa / adres makra i wciśnij przycisk OK.

Aby utworzyć nową makrodefinicję i przypisać ją do przycisku wciśnij przycisk Rejestruj

i dalej postępuj jak przy rejestracji makrodefinicji.

Procedura zmiany makrodefinicji powiązanej z przyciskiem na pasku narzędzi

przebiega podobnie, jednak najpierw należy wybrać polecenie Widok / Paski narzędzi,

a następnie wcisnąć przycisk Dostosuj.

Ustawianie i zmiana opcji makrodefinicji

Po zarejestrowaniu makrodefinicji istnieje możliwość zmiany jej następujących opcji:

opisu makrodefinicji;

klawisza skrótu, który uruchamia makrodefinicję;

background image

nazwy makrodefinicji pojawiającej się w menu Narzędzia.

1. Wybierz Narzędzia / Makro.

2. W polu Nazwa / adres makra wpisz lub wybierz nazwę makrodefinicji, której opcje chcesz

zmienić.

3. Wciśnij przycisk Opcje.

4. Zmień wymagane opcje.

5. Wciśnij przycisk OK.

Adresy względne i bezwględne

Jedną z opcji, którą można zmieniać podczas rejestracji makrodefinicji jest rodzaj

stosowanych podczas rejestracji adresów.

W przypadku adresów bezwzględnych Microsoft Excel zapisuje dokładną pozycję

każdej wybranej komórki, w przypadku adresów względnych pozycja każdej nowo wybranej

komórki jest liczona względem komórki poprzednio wybranej.

Aby

włączyć używanie adresów względnych należy wybrać Narzędzia / Rejestruj

makro / Używaj adresów względnych.

Rys. 6. Opcje okna dialogowego Zarejestruj nowe makro.

Makrodefinicje lokalne i globalne

background image

Jedną z opcji możliwych do ustawienia przed rejestracją nowej makrodefinicji jest

opcja wskazująca gdzie rejestrowana makrodefinicja zostanie zapisana (pole Przechowaj w

okna dialogowego Zarejestruj nowe makro): w aktywnym skoroszycie, a nowym skoroszycie,

czy w Osobistym skoroszycie makr (rys. 6).

Osobisty skoroszyt makr jest ukrytym skoroszytem, który zawsze pozostaje otwarty.

Wszystkie zapisane w nim makrodefinicje są zawsze dostępne.

Przeglądanie i modyfikowanie zarejestrowanych makrodefinicji

Pierwszym krokiem w edycji makrodefinicji jest wyświetlenie jej. Makrodefinicje są

napisane w języku programowania Visual Basic i zapisane w specjalnych arkuszach

nazywanych modułami Visual Basica.

Wyświetlenie makrodefinicji z wykorzystaniem okna dialogowego Makro:

1.

Wybierz Narzędzia / Makro.

2.

W polu Nazwa / adres makra wpisz lub wybierz nazwę makrodefinicji, którą chcesz

wyświetlić.

3.

Wciśnij przycisk Edytuj.

Wyświetlenie makrodefinicji powiązanej z przyciskiem na arkuszu:

1. Wciśnij przycisk prawym przyciskiem myszy.

2. Wybierz z menu Przypisz makro.

3. W polu Nazwa / adres makra wpisz lub wybierz nazwę makrodefinicji, którą chcesz

wyświetlić.

4. Wciśnij przycisk Edytuj.

Czytanie kodu Visual Basica

Kiedy rejestrujesz makrodefinicję Microsoft Excel tworzy serię wyrażeń

odpowiednich do akcji jakie podejmujesz. Wyrażenia te mogą składać się z słów kluczowych,

operatorów, zmiennych i wywołań procedur. Np.:

ActiveCell.FormulaR1C1 = ”Tytuł Arkusza”

jest wyrażeniem Visual Basica wstawiającym tekst „Tytuł Arkusza” do aktywnej komórki.

Słowa kluczowe są słowami mającymi w Visual Basicu specjalne znaczenie. Np.

słowa kluczowe Sub i End Sub oznaczają początek i koniec makrodefinicji.

background image

Początek komentarza oznacza pojedynczy apostrof. Komentarze zawsze kończą się

z końcem linii, w której pojawił się rozpoczynający je apostrof.

Usuwanie zbędnego kodu

Rejestrator makrodefinicji tworzy kod, który odpowiada większości

przeprowadzanych przez ciebie czynności. Często jednak w module Visual Basica zostaje

zapisanych więcej instrukcji niż chciałbyś aby występowało w makrodefinicji. Powinieneś

usunąć nadmiarowy kod, aby makrodefinicja robiła dokładnie to, czego sobie życzysz.

Rejestracja dodatkowego kodu w istniejącej makrodefinicji

Rejestracja dodatkowego kodu w istniejącej makrodefinicji jest użyteczna kiedy po

zapisaniu i poprawieniu długiej sekwencji czynności okazuje się, że któreś z zadań należy

zmienić lub też dołączyć nowe.

1. Ustaw kursor w miejscu, gdzie chcesz dołączyć kod.

2. Wybierz Narzędzia / Rejestruj makro / Ustaw znacznik dla rejestrowania.

3. Przełącz się na arkusz, z którego chcesz rejestrować nowe zadania.

4. Wybierz Narzędzia / Rejestruj makro / Zarejestruj od znacznika.

5. Przeprowadź operację, które chcesz zarejestrować.

6. Wciśnij przycisk Koniec.

Rozszerzanie makrodefinicji o możliwości Visual Basica

Visual Basic oferuje znacznie więcej niż można osiągnąć poprzez rejestrację

makrodefinicji. Używając Visual Basica twoje makrodefinicje mogą testować różne warunki

i w zależności od nich wykonywać odpowiednie działania, mogą pytać o dane użytkownika

i informować go o postępie w wykonywaniu makrodefinicji.

Zmiana stanu opcji

Poniższa makrodefinicja zmienia stan opcji określającej włączenie bądź wyłączenia

wyświetlania linii podziału, poprzez zanegowanie i przypisanie opcji dotychczasowej jej

wartości.

Sub SetGridlines ( )

background image

ActiveWindow.DisplayGridlines = Not ActiveWindow.DisplayGridlines

End Sub

Dodanie do makrodefinicji elementów interaktywnych

Przedstawiona

niżej makrodefinicja podczas wykonywania wyświetla okno

dialogowe, za pomocą którego pobiera od użytkownika dane do zmiennej służącej jako

chwilowe miejsce przechowywania informacji.

Sub SetTitle ( )

TitleText = InputBox(prompt := ”Podaj tytuł”, default := ”Tytuł domyślny”)

ActiveCell.FormulaR1C1 = TitleText

End Sub

Dodanie do makrodefinicji struktur kontrolnych

Można uczynić makrodefinicję bardziej użyteczną poprzez wprowadzenie do niej

struktur kontrolnych. Pozwalają one na wielokrotne powtarzanie wyrażeń Visual Basica i na

podejmowanie decyzji, które wyrażenia mają zostać wykonane.

Poniższy przykład ustawia czcionkę pogrubioną dla wszystkich komórek arkusza

w zakresie A1 : A10, które zawierają wartość większą od 500. Wykorzystuje ona wyrażenie

warunkowe If...Then i pętlę For...Next.

Sub BoldCells ( )

For I = 1 To 10

If Cells(I,1).Value > 500 Then

Cells(I,1).Font.Bold

=

True

End

If

Next

I

End Sub

background image

Zadania

1. Zarejestruj makrodefinicję ukrywającą linie podziału. Makrodefinicję powiąż z

przyciskiem na własnym pasku narzędzi.

2. Zarejestruj makrodefinicję otwierającą nowy arkusz, ukrywającą na nim linie podziału,

w komórce A1 wpisującą imię i nazwisko autora arkusza, zaś w komórce C4 tytuł arkusza

pogrubioną i podkreśloną czcionką Arial CE o rozmiarze 16 pkt. Makrodefinicję przypisz

do menu Narzędzia.

3. Zarejestruj makrodefinicję, która na aktualnie wybranej komórce arkusza przeprowadza

następujące operacje:

ustawia czcionkę Times New Roman CE, pogrubioną, kursywę, o rozmiarze 12 pkt.,

o kolorze niebieskim;

ustawia tło komórki na kolor czerwony;

do komórki przepisuje zawartość komórki C4;

dla sąsiednich komórek ustawia kolor tła zielony i kasuje ich zawartość.

Makrodefinicję powiąż z przyciskiem na jednym z wbudowanych pasków narzędzi.

4. Usuń zbędny kod w stworzonych makrodefinicjach.

5. Makrodefinicję z zad. 1 zmodyfikuj tak, aby za każdym wywołaniem zmieniała stan opcji

odpowiedzialnej za wyświetlanie linii podziału. Utwórz dla niej przycisk na arkuszu

i powiąż ją z nim.

6. Makrodefinicję z zad. 2 zmodyfikuj tak, aby przy uruchomieniu użytkownik proszony był

o podanie swego imienia i nazwiska oraz tytułu arkusza.

7. Utwórz makrodefinicję, która dla wszystkich komórek z zakresu D5-M14, których

zawartość jest większa od 500 będzie ustawiała czcionkę pogrubioną i tło czerwone, zaś

dla wszystkich, których zawartość jest mniejsza od 100 będzie ustawiała czcionkę

podkreśloną i kolor tła zielony.


Wyszukiwarka

Podobne podstrony:
OU LAB ŚCIĄGA
Skrypt do lab OU R Zaborski 3
Skrypt do lab OU R9 Kowalski 3, Semestr V
Skrypt do lab OU R8 Kowalski, PWr Mechaniczny MBM, semestr VI, Obróbka Ubytkowa II, word
Skrypt lab OU R 6 Wiercenie 3
Skrypt do lab OU R1 5 Cichosz, IV Semestr, Procesy i techniki wytwarzania CAM II
Skrypt do lab OU R7 Zaborski 3
spis lab I sem 2010
III WWL DIAGN LAB CHORÓB NEREK i DRÓG MOCZ
Diagnostyka lab wod elektrolit
ZW LAB USTAWY, OCHRONA
LAB PROCEDURY I FUNKCJE
sprzet lab profilografy
sprzet lab mikromanometry
Mechanika Plynow Lab, Sitka Pro Nieznany
Lab 02 2011 2012

więcej podobnych podstron