pi_st2009z_lab06_excel_makra.pdf

(252 KB) Pobierz
Microsoft Word - pi_st2009z_lab06_excel_makra.doc
PODSTAWY INFORMATYKI — laboratorium
arkusz kalkulacyjny: MS Excel
Laboratorium 6
Legenda:
aplikacja, program, arkusz
opcja menu, funkcja
plik, folder, Ļ cie Ň ka
pole, kod pola
tekst do wpisania
klawisz
1 Makropolecenia — wprowadzenie
Czħsto powtarzane zadania moŇna zautomatyzowaę za
pomocĢ makropolece ı (inaczej: makr ). Makro to seria
poleceı wykonywanych w module jħzyka MS Visual
Basic for Applications (VBA), która moŇe byę wielokrotnie
uruchamiana, gdy tylko zachodzi taka potrzeba. Makro
moŇe np. automatycznie filtrowaę dane, formatowaę
wyglĢd tabel czy przenosię zawartoĻę komórek.
Aby tworzyę proste makra jħzyka VBA i uŇywaę ich, nie trzeba byę zaawansowanym uŇytkownikiem.
Typowi uŇytkownicy aplikacji Excel mogĢ po prostu skorzystaę z funkcji rejestrowania makr . Excel
rejestruje wykonane czynnoĻci i zamienia je do postaci makra jħzyka VBA. Po uruchomieniu makra
Excel ponownie wykona te operacje. Bardziej zaawansowani uŇytkownicy mogĢ tworzy ę kod
Ņ ródłowy nakazujĢcy Excelowi wykonywanie zadaı, których rejestracja nie jest moŇliwa.
Makropolecenia pozwalajĢ nie tylko na operowanie na obiektach w obrħbie Excela, ale mogĢ takŇe
oddziaływaę na inne aplikacje czy system operacyjny. StĢd moŇliwe jest napisanie makra o działaniu
destrukcyjnym. WykorzystujĢ to niekiedy autorzy wirusów. Dlatego nale Ň y zachowa ę ostro Ň no Ļę
przy uruchamianiu nieznanych nam makr , a nawet otwieraniu skoroszytów zawierajĢcych makra,
bo niektóre mogĢ byę uruchamiane automatycznie bez pytania o zgodħ uŇytkownika.
W Excelu 2007 narzħdzia makr dostħpne sĢ w sekcji Kod na karcie Deweloper . JeĻli nie jest widoczna
naleŇy jĢ włĢczyę: http://office.microsoft.com/pl-pl/excel/HA101730521045.aspx . MoŇna teŇ skorzystaę
z sekcji Makra na karcie Widok .
2 Formatowanie komórek
Zacznijmy od prostego makra, które bħdzie formatowało wyglĢd zaznaczonych komórek.
2.1 Rejestrowanie makra
1. Otwórz skoroszyt
agencja_reklamowa2.xls (materiały
pomocnicze na stronie WWW).
2. PrzejdŅ do arkusza dane fikcyjne .
3. Z karty Deweloper wybierz Zarejestruj makro .
4. Pojawi siħ okno Rejestrowanie makra . Podaj
nazwħ: FormatowanieKomorek oraz
upewnij siħ, Ňe makro bħdzie przechowywane
w bieŇĢcym skoroszycie. Kliknij OK, by
przejĻę do właĻciwego rejestrowania makra.
5. Od tego momentu rozpoczyna siħ
rejestrowanie wszystkich czynnoĻci
wykonywanych w Excelu (za wyjĢtkiem
ruchów wskaŅnikiem myszy). Powinien o tym
przypominaę niewielki mały niebieski kwadrat
w lewym dolnym rogu paska stanu u dołu okna
Excela. KlikajĢc na niego lub na podobnĢ ikonħ
z napisem Zatrzymaj rejestrowanie na karcie
Deweloper koıczy siħ rejestrowanie makra ( jeszcze
tego nie rób! ).
mgr inŇ. Adam Czarnecki, mgr inŇ. Artur Ziółkowski, 2009
Wydział ZarzĢdzania i Ekonomii Politechniki Gdaıskiej
1/6
Z.ST
265371503.017.png 265371503.018.png 265371503.019.png 265371503.020.png 265371503.001.png
 
PODSTAWY INFORMATYKI — laboratorium
arkusz kalkulacyjny: MS Excel
6. Nie zaznaczaj teraz Ňadnej komórki, a jedynie posługuj siħ
ikonami sekcji Czcionka na karcie Narz ħ dzia główne :
pogrubienie, Ňółty kolor wypełnienia, czerwony kolor czcionki.
7. Zatrzymaj rejestrowanie makra, klikajĢc na niebieskim
kwadracie na pasku stanu. Rejestrowanie makra moŇna teŇ
zatrzymaę poprzez Deweloper
ã Kod
ã Zatrzymaj
rejestrowanie .
2.2 Testowanie makra
1. Zaznacz blok dowolnych komórek w arkuszu dane fikcyjne .
2. Uruchom makro: Deweloper ã Kod ã
Makra (lub Alt+F8), a nastħpnie wskaŇ
makro FormatowanieKomorek i kliknij
na przycisk Uruchom .
3. JeĻli makro zostało poprawnie
zarejestrowane, to po jego wykonaniu
zaznaczone komórki zmieniĢ wyglĢd na
taki, jaki został ustawiony podczas
rejestrowania makra.
4. Gdyby w czasie rejestrowania makra
uŇytkownik zaznaczył konkretnĢ komórkħ
(lub zakres komórek), wówczas
uruchomienie tego makra
spowodowałoby sformatowanie właĻnie
tej komórki (zakresu) zamiast obszaru
zaznaczonego przed uruchomieniem.
3 Dodawanie zlece ı
W arkuszu formularz znajduje siħ odwzorowanie nagłówków tabeli z arkusza dane fikcyjne . Aby
ograniczyę poruszanie siħ po tym arkuszu, ukryto w nim kolumny od C do IV oraz wiersze od 10 do
65536. Do tego w komórkach B6, B7 i B8 ułatwiono wprowadzanie danych przez uŇycie list
rozwijalnych z narzħdzi sprawdzania poprawnoĻci. Kolejne ułatwienie znajduje siħ w komórce B2,
gdzie specjalna formuła wstawia kolejny numer zlecenia, wiħkszy o 1 od najwiħkszego, jaki do tej pory
znajduje siħ w arkuszu dane fikcyjne .
Stworzymy teraz makro, które pozwoli nam po wpisaniu informacji o zleceniu do arkusza formularz
dodaę je do listy zleceı w formularzu dane fikcyjne .
Zacznijmy od wprowadzenia przykładowych danych do arkusza formularz :
mgr inŇ. Adam Czarnecki, mgr inŇ. Artur Ziółkowski, 2009
Wydział ZarzĢdzania i Ekonomii Politechniki Gdaıskiej
2/6
Z.ST
265371503.002.png 265371503.003.png 265371503.004.png
 
PODSTAWY INFORMATYKI — laboratorium
arkusz kalkulacyjny: MS Excel
3.1 Rejestrowanie makra
1. MajĢc wyĻwietlony arkusz formularz z menu Narzħdzia wybierz Deweloper ã Kod ã Zarejestruj
makro
2. Pojawi siħ okno Rejestrowanie makra . Podaj nazwħ:
DodajProjekt oraz upewnij siħ, Ňe makro bħdzie
przechowywane w bieŇĢcym skoroszycie. Kliknij
OK, by przejĻę do właĻciwego rejestrowania makra.
3. Od tego momentu rozpoczyna siħ rejestrowanie
wszystkich czynnoĻci wykonywanych w Excelu (za
wyjĢtkiem ruchów wskaŅnikiem myszy).
4. Zaznacz w arkuszu formularz komórki B2:B8
i skopiuj je do Schowka .
5. PrzejdŅ do arkusza roboczy i zaznacz w nim
komórkħ A1.
6. KorzystajĢc z opcji Wklej specjalnie… wklej
skopiowane wczeĻniej komórki z wybranymi opcjami
wklejania wartoĻci i transpozycji (por. okienko obok).
Komórki A1:G1 powinny wypełnię siħ danymi.
7. Nie usuwajĢc zaznaczenia komórek A1:G1
w arkuszu roboczy , wybierz opcjħ Wytnij .
8. PrzejdŅ do arkusza dane fikcyjne i kliknij prawym
przyciskiem myszy na komórce A2. Z otwartego tym
sposobem menu kontekstowego wybierz opcjħ
Wstaw wyci ħ te komórki . Excel otworzy niewielkie
okno z pytaniem o sposób wstawienia komórek.
Zaznacz opcjħ Przesu ı komórki w dół .
9. Efektem bħdzie wstawienie do 2. wiersza arkusza
dane fikcyjne zawartoĻci komórek pierwotnie
skopiowanych z arkusza formularz . BħdĢce
wczeĻniej w tabeli dane zostanĢ przesuniħte
o jeden wiersz niŇej.
10. Zaznacz komórkħ C2 (znajduje siħ w niej wartoĻę
wstawionego przed chwilĢ zamówienia) i ustaw dla niej format ksiħgowy bez miejsc dziesiħtnych.
11. To jeszcze nie koniec — niech makro czyĻci teŇ informacje z formularza. PrzełĢcz siħ do arkusza
formularz . Zaznacz komórki B3:B8 (zawartoĻę komórki B2 zostawmy — ona a utomaty cznie
nadaje kolejny numer zleceniom), a nastħpnie usuı z nich zawartoĻę (np. klawiszem Delete ).
12. Zatrzymaj rejestrowanie makra klikajĢc na niebieskim kwadracie na pasku stanu. Rejestrowanie
makra moŇna teŇ zatrzymaę poprzez Deweloper ã Kod ã Zatrzymaj rejestrowanie .
3.2 Uruchamianie makra
1. WprowadŅ przykładowe dane do arkusza formularz :
mgr inŇ. Adam Czarnecki, mgr inŇ. Artur Ziółkowski, 2009
Wydział ZarzĢdzania i Ekonomii Politechniki Gdaıskiej
3/6
Z.ST
265371503.005.png 265371503.006.png 265371503.007.png
 
PODSTAWY INFORMATYKI — laboratorium
arkusz kalkulacyjny: MS Excel
2. Uruchom makro: Deweloper ã Kod ã Makra (lub Alt+F8), a nastħpnie wskaŇ makro
DodajProjekt i kliknij na przycisk Uruchom .
3. JeĻli makro zostało poprawnie
zarejestrowane, to po jego wykonaniu
aktywny bħdzie arkusz formularz,
w którym przy numerze zlecenia bħdzie
widoczny numer 33, a pozostałe pola
(komórki B3:B8) bħdĢ puste.
4. PrzejdŅ do arkusza dane fikcyjne
i zobacz, czy w wierszu nr 2 znajdujĢ siħ
dane na temat zlecenia nr 32,
a w niŇszych wierszach odpowiednio
wpisy o zleceniach 31, 30…1.
5. JeĻli efekt jest zgodny z planem, moŇesz
sobie pogratulowaę dokładnoĻci
wykonania poleceı. JeĻli jednak makro
nie zadziałało, jak powinno, wykonaj
jeszcze raz polecenia z punktu 3.1.
3.3 Przycisk uruchamiaj Ģ cy makro
Aby ułatwię korzystanie z makropolecenia, stwórzmy w arkuszu Formularz przycisk, po naciĻniħciu
którego zostanie uruchomione stworzone
przed chwilĢ makro.
1. Z paska sekcji Formanty na karcie
Deweloper wstaw Przycisk (formant
formularza).
2. Narysuj przycisk w komórce 9. wiersza.
3. Excel wyĻwietli okno słuŇĢce
przypisywaniu makra do przycisku.
4. Zaznacz makro DodajProjekt i kliknij OK.
5. Zmieı opis przycisku na Dodaj projekt .
6. Wypełnij komórki B3:B8 arkusza formularz
wymyĻlonymi przez siebie danymi.
7. Kliknij przycisk Dodaj projekt .
8. SprawdŅ efekty.
4 Kod VBA
KaŇde z zarejestrowanych makr zostaje zapisane jako ciĢg poleceı jħzyka VBA. Instrukcje tego
jħzyka sĢ w miarħ czytelne dla osób znajĢcych jħzyk angielskim, a podstawy posługiwania siħ nim nie
sĢ skomplikowane.
Warto o tym wiedzieę, bo czasami moŇna uzyskaę przydatny efekt najpierw rejestrujĢc makro,
a potem zmieniajĢc nieznacznie jego kod, by lepiej pasował, do naszych potrzeb, czego na przykład
nie daje siħ osiĢgnĢę za pomocĢ samego nagrywania czynnoĻci.
Aby wyĻwietlię kod konkretnego makra moŇna wybraę opcjħ Deweloper ã Kod ã Makra , wybraę
konkretne makro i nacisnĢę przycisk Edycja .
Spróbujmy stworzyę proste makra za pomocĢ napisania kilku linijek kodu VBA. W tym celu stwórz
nowy, pusty skoroszyt. W tym skoroszycie:
1. Na karcie Deweloper wybierz opcjħ Visual Basic (albo naciĻnij Alt + F11 ).
2. Po lewej stronie powinien byę widoczny Eksplorator projektu . Kliknij obszarze dotyczĢcym
bieŇĢcego skoroszytu prawym przyciskiem myszy i z menu kontekstowego wybierz Insert ã
Module , by wstawię do skoroszytu moduł przechowujĢcy kod VBA.
3. Pojawi siħ grupa Modules , a w niej element Module1 . Po prawej stronie okna edytora VBA
powinno otworzyę siħ okno modułu. Tutaj bħdziemy wpisywali makra.
mgr inŇ. Adam Czarnecki, mgr inŇ. Artur Ziółkowski, 2009
Wydział ZarzĢdzania i Ekonomii Politechniki Gdaıskiej
4/6
Z.ST
265371503.008.png 265371503.009.png 265371503.010.png
 
PODSTAWY INFORMATYKI — laboratorium
arkusz kalkulacyjny: MS Excel
4.1 Okno komunikatu
W edytorze VBA napisz makro o nazwie Powitanie z nastħpujĢcĢ zawartoĻciĢ:
Sub Powitanie()
MsgBox "Cze Ļę ! Jak si ħ masz?", vbQuestion
End Sub
Uruchom makropolecenie (Run /
/ F5 ).
4.2 Pobieranie danych, zmienne
Teraz nauczymy siħ odczytywaę wartoĻę z komórki, przypisywaę jĢ do zmiennej, a tħ zmiennĢ uŇywaę
przy wyĻwietleniu okna z powitaniem:
W Arkusz1 w komórkħ A1 wpisz swoje imiħ.
Wróę do edytora VBA i zmodyfikuj makro Powitanie , by wyglĢdało tak:
Sub Powitanie()
imie = Range("A1").Value
MsgBox "Cze Ļę " & imie & "! Jak si ħ masz?", vbQuestion
End Sub
Uruchom makropolecenie.
4.3 Wprowadzanie danych
Teraz nauczymy siħ wpisywaę wartoĻę do komórki. Wpisz jako nowe makro poniŇej makra Powitanie :
Sub UlubionyKolor()
kolor = InputBox("Jaki jest Twój ulubiony kolor?")
Range("A2").Value = kolor
End Sub
Uruchom to makro. Zobacz, co pojawiło siħ w komórce A2.
4.4 Instrukcja warunkowa
ZaleŇnie od napotkanych warunków makro moŇe wykonywaę róŇne partie swojego kodu.
Przepisz nastħpujĢcy kod jako nowe makro, a nastħpnie je uruchom:
Sub Decyzja()
dodomu = MsgBox("Czy chcesz ju Ň i Ļę do domu?", vbYesNo)
If dodomu = vbYes Then
MsgBox "Najpierw zrób wszystkie zadania!", vbCritical
Else
MsgBox "I bardzo dobrze! Rób dalej zadania.", vbInformation
End If
Call Decyzja
End Sub
Na koıcu makro samo uru ch amia siħ znów ( Call Decyzja ). Aby wyjĻę z tego makra, musisz
wcisnĢę klawisze Control + Pause , potem wybraę którĢkolwiek z opcji okienka dialogowego,
a w kolejnym oknie przycisk End.
mgr inŇ. Adam Czarnecki, mgr inŇ. Artur Ziółkowski, 2009
Wydział ZarzĢdzania i Ekonomii Politechniki Gdaıskiej
5/6
Z.ST
265371503.011.png 265371503.012.png 265371503.013.png 265371503.014.png 265371503.015.png 265371503.016.png
Zgłoś jeśli naruszono regulamin