Post on 09-May-2018
Idź do
• Spis treści• Przykładowy rozdział• Skorowidz
• Katalog online
• Dodaj do koszyka
• Zamów cennik
• Zamów informacjeo nowościach
• Fragmenty książekonline
Helion SAul. Kościuszki 1c44-100 Gliwicetel. 32 230 98 63e-mail: helion@helion.pl© Helion 1991–2011
Katalog książek
Twój koszyk
Cennik i informacje
Czytelnia
Kontakt
• Zamów drukowanykatalog
VBA dla Excela 2010 PL.155 praktycznychprzykładówAutor: Witold Wrotek
ISBN: 978-83-246-2951-0
Format: 158×235, stron: 312
• Poznaj język VBA i jego zastosowania w programie Excel
• Dowiedz się, jak tworzyć rozbudowane makropolecenia
• Naucz się wydajnie programować arkusze kalkulacyjne
Zrób krok dalej – poznaj Visual Basic for ApplicationsJeśli używasz Excela od jakiegoś czasu, z pewnością zetknąłeś się już ze skrótem VBA, oznaczającym
Visual Basic for Applications. Jest to prosty w użyciu język programowania, za pomocą którego
można tworzyć programy uruchamiane w obrębie innych aplikacji i automatyzować ich działanie.
Jeśli miałeś okazję zarejestrować kiedyś makro, w gruncie rzeczy korzystałeś już z VBA, ponieważ
to właśnie przy użyciu tego języka zapisywane są ciągi operacji wykonywane przez Ciebie
w arkuszu. Jeśli jednak doszedłeś do punktu, w którym przestało Ci to wystarczać, powinieneś
wkroczyć w świat bardziej zaawansowanego programowania w VBA.
Znakomicie ułatwi Ci to książka „VBA dla Excela 2010 PL. 155 praktycznych przykładów”, która
stanowi doskonałe wprowadzenie w tematykę stosowania języka VBA do automatyzacji zadań
i tworzenia programów działających w najnowszej wersji arkusza Excel. Znajdziesz w niej
podstawowe informacje o środowisku programowania, przegląd dostępnych narzędzi oraz opis
sposobów używania obiektów i korzystania z elementów interfejsu użytkownika programu.
Dowiesz się też, jak sterować działaniem Excela i przeprowadzać skomplikowane operacje na
danych przechowywanych w arkuszach.
• Tworzenie, edytowanie i używanie makropoleceń
• Sposób korzystania z edytora Visual Basic for Applications
• Definiowanie i używanie zmiennych
• Komunikacja z użytkownikiem aplikacji
• Stosowanie obiektów VBA
• Sterowanie pracą programu Excel
• Używanie instrukcji warunkowych, zdarzeń, metod i podprogramów
• Przegląd metod, funkcji, instrukcji i operatorów
Stań się prawdziwym guru Excela – zacznij programować w VBA!
Spis tre�ci
Wst�p .............................................................................................. 7
Rozdzia� 1. Makropolecenia ............................................................................. 15Microsoft Office 2007 i 2010 ......................................................................................... 16Planowanie makropolecenia ........................................................................................... 16Podsumowanie ................................................................................................................ 39
Rozdzia� 2. Jak uruchomi� edytor Visual Basic for Applications ......................... 41Excel 2007 ...................................................................................................................... 41Czy makropolecenia s� gro�ne? ..................................................................................... 44Excel 2010 ...................................................................................................................... 47Czy makropolecenie mo�e spowodowa� szkody? .......................................................... 50Podsumowanie ................................................................................................................ 54
Rozdzia� 3. Okno edytora Visual Basic for Applications ..................................... 55Okno Project ................................................................................................................... 55Okno Properties .............................................................................................................. 57Okno Code ...................................................................................................................... 57Pasek menu ..................................................................................................................... 59Pasek narz�dziowy ......................................................................................................... 59Pierwszy program ........................................................................................................... 59Prze��czanie mi�dzy widokami ...................................................................................... 69Wyrównywanie obiektów ............................................................................................... 70Strzelanie z armaty do komara ....................................................................................... 72Podsumowanie ................................................................................................................ 72
Rozdzia� 4. Zmienne ........................................................................................ 73Nazwy zmiennych w VBA ............................................................................................. 74Pu�apki systemu komunikatów ....................................................................................... 77Typy danych ................................................................................................................... 78Pu�apki braku deklaracji ................................................................................................. 85Wymuszanie deklarowania zmiennych ........................................................................... 88Zasi�g deklaracji ............................................................................................................. 90Deklaracja typu i instrukcja przypisania ......................................................................... 93
4 VBA dla Excela 2010 PL. 155 praktycznych przyk�adów
Komórka arkusza jako zmienna ...................................................................................... 96Tekst jako warto�� zmiennej .......................................................................................... 97Podsumowanie ................................................................................................................ 98
Rozdzia� 5. Komunikacja z u�ytkownikiem ........................................................ 99Wprowadzanie danych ................................................................................................. 100Wy�wietlanie komunikatów ......................................................................................... 109Poprawno�� wprowadzanych danych ........................................................................... 120Podsumowanie .............................................................................................................. 126
Rozdzia� 6. Korzystanie z obiektów ................................................................. 127Obiekty ......................................................................................................................... 127W�a�ciwo�ci .................................................................................................................. 127Metody ......................................................................................................................... 128W�a�ciwo�ci .................................................................................................................. 135Podsumowanie .............................................................................................................. 147
Rozdzia� 7. Instrukcje warunkowe .................................................................. 149Porównywanie .............................................................................................................. 150Sterowanie wykonywaniem procedur ........................................................................... 151Podsumowanie .............................................................................................................. 175
Rozdzia� 8. Elementy steruj�ce arkusza .......................................................... 177Pole listy ....................................................................................................................... 178Pole kombi (listy rozwijanej) ........................................................................................ 184Pasek Toolbox i elementy steruj�ce arkusza ................................................................. 186W�a�ciwo�ci .................................................................................................................. 187Podsumowanie .............................................................................................................. 191
Rozdzia� 9. Zdarzenia ..................................................................................... 193Lista zdarze dla skoroszytu ......................................................................................... 195Lista zdarze dla arkusza .............................................................................................. 200Lista zdarze dla aplikacji ............................................................................................ 203Komunikacja z programem ........................................................................................... 205Lista zdarze dla formularzy ........................................................................................ 209Podsumowanie .............................................................................................................. 211
Rozdzia� 10. Metody i w�a�ciwo�ci dla zakresu ................................................. 213Kopiowanie zakresu komórek ...................................................................................... 213Sortowanie zakresu komórek ........................................................................................ 219Filtrowanie zakresu komórek ....................................................................................... 223Wyszukiwanie informacji ............................................................................................. 227Podsumowanie .............................................................................................................. 229
Rozdzia� 11. Podprogramy ................................................................................ 231ledzenie pracy programu ............................................................................................ 237Procedury zagnie�d�one ............................................................................................... 239Procedury zap�tlone ..................................................................................................... 241Podsumowanie .............................................................................................................. 244
Spis tre�ci 5
Rozdzia� 12. �ci�gawka z VBA ......................................................................... 245Metody ......................................................................................................................... 245Funkcje ......................................................................................................................... 252Instrukcje ...................................................................................................................... 261Operatory ...................................................................................................................... 265Podsumowanie .............................................................................................................. 271
Rozdzia� 13. FAQ ............................................................................................. 273Co zrobi�, aby makropolecenia by�y dost�pne we wszystkich arkuszach? ................... 273Czy w VBA istnieje znak kontynuacji wiersza? ........................................................... 275Co oznaczaj� komunikaty b��dów VBA? ..................................................................... 277Jak wy�wietli� list� metod i w�a�ciwo�ci klasy? .......................................................... 285Jak wy�wietli� komunikat na pasku stanu? .................................................................. 286Podsumowanie .............................................................................................................. 288
Dodatek A Wybrane kody b��dów VBA ........................................................... 289
Dodatek B Programowanie obiektowe ............................................................ 293Programowanie proceduralne a obiektowe ................................................................... 293W�a�ciwo�ci .................................................................................................................. 294Metody ......................................................................................................................... 295Zdarzenia ...................................................................................................................... 295Kolekcje ....................................................................................................................... 295Modele obiektowe ........................................................................................................ 296Metoda kropkowa ......................................................................................................... 296Obiekty aktywne ........................................................................................................... 296
Zakoczenie ................................................................................ 299
Skorowidz .................................................................................... 301
Rozdzia� 8.
Elementy steruj�cearkusza
Z tego rozdzia�u dowiesz si�:
� Jak utworzy� formularz
� Jak na formularzu umieszcza� obiekty
� Jak przypisywa� w�a�ciwo�ci obiektom
Je�eli wprowadzanie danych odbywa si� z klawiatury, mo�e by� �ród�em b��dów. Naj-cz��ciej ich przyczyny s� dwie.
Pierwsz� z nich s� literówki. Cz�owiek mo�e domy�li� si�, co mia� oznacza� dany wy-raz. Komputer tego nie zrobi.
Drug� przyczyn� b��dów s� ró�nice w nazwach tych samych przedmiotów nabywanychw ró�nych firmach. Je�eli cz�owiek nie zastanowi si� i utworzy w arkuszu pozycj�UL6400, cho� istnieje ju� Uk�ad scalony UL6400, ten sam fizycznie element b�dzieistnia� pod dwiema nazwami.
Aby unikn�� takich sytuacji, autor programu nie powinien dawa� ka�demu u�ytkow-nikowi mo�liwo�ci dopisywania nowych nazw. Powinien jedynie zezwoli� na wybie-ranie nazw spo�ród dost�pnych.
Powy�sze rozwi�zanie ma dodatkow� zalet�. Wybieranie pozycji z listy zajmuje mniejczasu ni� wpisywanie ich z klawiatury.
178 VBA dla Excela 2010 PL. 155 praktycznych przyk�adów
Pole listyPole listy zawiera list� pozycji, które u�ytkownik mo�e wybra�. Symbolizowane jestono przez ikon� pokazan� na rysunku 8.1.
Rysunek 8.1.Ikona pola listy
Aby z pola listy wybra� pojedynczy element, wystarczy go klikn��.
Aby z pola listy wybra� wi�cej ni� jeden element:
� nale�y wcisn�� i przytrzyma� klawisz Ctrl,
� klikni�ciami zaznaczy� obiekty,
� zwolni� klawisz Ctrl.
Pozycje widoczne w polu listy mo�na wstawi� na dwa sposoby: okre�laj�c zakres za-wieraj�cy pozycje lub pos�uguj�c si� instrukcjami j�zyka VBA.
Przyk�ad 100.
Wstaw do projektu pole listy.
1. Wy�wietl okno Code (rysunek 4.3).
2. Wybierz polecenie Insert/UserForm (rysunek 8.2).
Rysunek 8.2.Menu Insert umo�liwiawstawienie do projektuformularza
3. W pasku Toolbox odszukaj ikon� ListBox (rysunek 8.3).
Rysunek 8.3.Ikona umo�liwiaj�cawstawienie pola listy
4. Przeci�gnij ikon� na formularz (rysunek 8.4).
Rozdzia� 8. � Elementy steruj�ce arkusza 179
Rysunek 8.4.Po�o�enie pola listyjest wskazywane przezprzerywan� lini�
5. Zwolnij lewy przycisk myszy.
6. Na formatce pojawi� si� nowy obiekt (rysunek 8.5).
Rysunek 8.5.Wyró�niony obszarwskazuje, gdzieb�dzie si� znajdowa�opole listy
Je�eli pasek Toolbox jest ukryty, kliknij ikon� Toolbox (rysunek 8.6).
Rysunek 8.6.Ikona Toolbox
Przyk�ad 101.
Wy�wietl kod pola listy.
1. Umie�� w projekcie pole listy (patrz przyk�ad 100).
2. Kliknij prawym przyciskiem myszy pole listy.
3. Z podr�cznego menu wybierz polecenie View Code (rysunek 8.7).
4. Wy�wietlone zosta�o okno z kodem odpowiadaj�cym za wy�wietlenie polalisty (rysunek 8.8).
Aby ukry� okno kodu, kliknij przycisk Zamknij okno (rysunek 8.9).
180 VBA dla Excela 2010 PL. 155 praktycznych przyk�adów
Rysunek 8.7.Menu podr�cznepola listy
Rysunek 8.8.Kod powoduj�cywy�wietlenie pola listy
Rysunek 8.9.Przycisk Zamknij okno
Przyk�ad 102.
Napisz program, który spowoduje wy�wietlenie formularza na ekranie.
1. Wy�wietl okno Code (rysunek 4.3).
2. Wpisz z klawiatury kod (rysunek 8.10).
Rysunek 8.10.Program wy�wietlaj�cyna ekranie formularzUserForm
3. Uruchom program.
4. Na ekranie zosta�a wy�wietlona formatka arkusza (rysunek 8.11).
Rozdzia� 8. � Elementy steruj�ce arkusza 181
Rysunek 8.11.Okno arkuszaz formatk�
Do zamkni�cia formularza nale�y u�y� instrukcji Unload nazwa_formularza, np.Unload UserForm1.
Przyk�ad 103.
Napisz program, który spowoduje wy�wietlenie w oknie listy dwóch pozycji: Sekreta-riat i Sklep. Pozycje powinny by� wpisane w kodzie programu. Pozycje powinny by�wpisane w arkuszu kalkulacyjnym.
1. Uruchom arkusz kalkulacyjny Excel.
2. Wy�wietl okno edytora VBA.
3. Wybierz polecenie Insert/UserForm (rysunek 8.12).
Rysunek 8.12.Aby wstawi� doprogramu oknoformularza, nale�ywybra� polecenieInsert/UserForm
4. Wstaw do projektu pole listy (rysunek 8.13).
Rysunek 8.13.Pole listy mo�nawstawi� po klikni�ciuikony ListBox
5. Umie�� kursor w miejscu, w którym ma si� znale�� naro�nik pola listy.
182 VBA dla Excela 2010 PL. 155 praktycznych przyk�adów
6. Przeci�gnij kursor do miejsca, w którym ma si� znale�� przeciwleg�y naro�nikpola listy (rysunek 8.14).
Rysunek 8.14.Po�o�enie pola listywskazuje liniaprzerywana
7. Na formularzu pojawi�o si� pole listy (rysunek 8.15).
Rysunek 8.15.Po�o�enie i rozmiarpola listy mo�nazmieni�, przeci�gaj�cprostok�ty znajduj�cesi� w naro�nikach i na�rodkach kraw�dzi
8. Wy�wietl arkusz Excel.
9. W komórce A1 wpisz Sekretariat (rysunek 8.16).
Rysunek 8.16.Arkusz z wype�nionymikomórkami A1 i A2
10. W komórce A2 wpisz Sklep.
11. Sprawd�, czy wybrane jest pole listy (rysunek 8.17). Je�li nie — kliknij je.
12. W oknie Properties - ListBox1 odszukaj pozycj� RowSource (rysunek 8.18).
13. Kliknij pole znajduj�ce si� na prawo od etykiety RowSource.
14. Wpisz adres obszaru, w którym znajduj� si� dane przeznaczonedo wy�wietlenia w polu listy (patrz rysunek 8.19).
15. Uruchom program. Na ekranie zosta� wy�wietlony formularz z polem listy(rysunek 8.20).
Rozdzia� 8. � Elementy steruj�ce arkusza 183
Rysunek 8.17.Pole listy musi by�wybrane, aby mo�naby�o modyfikowa�jego w�a�ciwo�ci
Rysunek 8.18.Pole, w które mo�nawpisa� adres obszaruzawieraj�cego danedo wy�wietleniaw polu listy
Rysunek 8.19.Tekst wpisanyw arkuszukalkulacyjnymzosta� wy�wietlonyw polu listy
Rysunek 8.20.Formularzu�ytkownikaz polem listy
17. Zamknij okno formularza.
184 VBA dla Excela 2010 PL. 155 praktycznych przyk�adów
Pole kombi (listy rozwijanej)Pole kombi zawiera list� pozycji rozwijan� do do�u. Gdy jest ona zwini�ta, widocznajest tylko jedna pozycja. Na prawo od niej znajduje si� czarna strza�ka skierowana kudo�owi. Klikni�cie strza�ki powoduje rozwini�cie listy, z której u�ytkownik mo�e wy-bra� element.
Pole kombi symbolizowane jest przez ikon� pokazan� na rysunku 8.21.
Rysunek 8.21.Ikona pola kombi
Aby z pola kombi wybra� pojedynczy element, wystarczy go klikn��.
Pozycje widoczne w polu kombi mo�na wstawia� na dwa sposoby: okre�laj�c zakreszawieraj�cy pozycje lub pos�uguj�c si� instrukcjami j�zyka VBA.
Przyk�ad 104.
Napisz program, który spowoduje wy�wietlenie w polu kombi dwóch pozycji: Sekre-tariat i Sklep. Pozycje powinny by� wpisane w arkuszu kalkulacyjnym.
1. Wy�wietl arkusz Excel.
2. W komórkach od A1 do A2 wpisz Sekretariat, Sklep (rysunek 8.22).
Rysunek 8.22.Dane do utworzeniapola kombi
3. Za�aduj edytor VBA.
4. Wybierz polecenie Insert/UserForm.
5. W pasku Toolbox odszukaj ikon� pola kombi.
6. Przeci�gnij ikon� pola kombi na formatk� (rysunek 8.23).
Rysunek 8.23.Pole kombiumieszczonena formatce
Rozdzia� 8. � Elementy steruj�ce arkusza 185
7. W ikonie Properties wybierz pozycj� ComboBox (rysunek 8.24).
Rysunek 8.24.W dolnej cz��ci okna b�d�wy�wietlane w�a�ciwo�cipola kombi
8. Kliknij kart� Alphabetic. W�a�ciwo�ci zosta�y uporz�dkowane w kolejno�cialfabetycznej.
9. W komórce znajduj�cej si� na prawo od komórki oznaczonej jako RowSourcewpisz zakres komórek arkusza, w których znajduj� si� dane do umieszczeniaw polu kombi (rysunek 8.25).
Rysunek 8.25.Parametr RowSourceokre�la zakreskomórek arkuszawy�wietlanychw polu kombi
10. W formularzu zosta�y wy�wietlone pozycje pola kombi (rysunek 8.26).
Rysunek 8.26.Pole kombiz pozycjamiwczytanymize wskazanegozakresu arkusza
11. Naci�nij klawisz F7. Wy�wietlone zosta�o okno kodu.
12. Wpisz z klawiatury kod procedury przyk�ad104() (rysunek 8.27).
Rysunek 8.27.Nad kresk� pierwsz�od góry widocznyjest kod procedury,która powodujewy�wietlenieformularza
186 VBA dla Excela 2010 PL. 155 praktycznych przyk�adów
13. Uruchom program, naciskaj�c klawisz F5.
14. Wy�wietlone zosta�o okno formularza z polem kombi (rysunek 8.28).
Rysunek 8.28.Formularz z polemkombi
Pasek Toolboxi elementy steruj�ce arkusza
Z przyk�adów opisanych w tym rozdziale wynika, �e sposób post�powania w celuumieszczenia elementu na formatce jest podobny. Nie zale�y on w znacznym stopniuod typu elementu. Najwi�ksz� trudno�� mo�e sprawi� pocz�tkuj�cemu programi�cieodszukanie odpowiedniej ikony na pasku Toolbox. W pokonaniu tej trudno�ci pomoc-na mo�e by� tabela 8.1. Pokazano w niej, jaki element pojawi si� na formatce po prze-ci�gni�ciu na ni� ikony z paska Toolbox.
Tabela 8.1. Ikony paska Toolbox i odpowiadaj�ce im elementy
Ikona Element Uwagi
Ikona Label — wstawianie etykiet
Ikona TextBox — wstawianie pól tekstowych
Ikona ComboBox — wstawianie pól kombi
Ikona ListBox — wstawianie pól listy
Ikona CheckBox — wstawianie pola wyboru
Ikona OptionButton — wstawianie przycisku opcji
Rozdzia� 8. � Elementy steruj�ce arkusza 187
Tabela 8.1. Ikony paska Toolbox i odpowiadaj�ce im elementy — ci�g dalszy
Ikona Element Uwagi
Ikona Toggle Button — wstawianie przyciskuprze��cznika
Ikona Frame — wstawianie pola grupy
Ikona CommandButton — wstawianie przyciskupolecenia
Ikona TabStrip — wstawianie elementu oknaz kartami
Ikona MultiPage — wstawianie zak�adkowegoelementu okna dialogowego
Ikona ScrollBar — wstawianie paska przewijania
Ikona SpinButton — wstawianie przyciskówumo�liwiaj�cych wybieranie warto�ci poprzezklikanie strza�ek
Ikona Image — wstawianie obrazu
Ikona RefEdit — wybieranie zakresu arkusza
W�a�ciwo�ciUmieszczenie na formatce elementu steruj�cego to dopiero pocz�tek pracy zwi�zanejz umo�liwieniem komunikowania si� z programem. Elementowi nale�y przypisa� war-to�ci, które b�dzie mo�na wybiera� za jego po�rednictwem, okre�li� czcionk� u�ywa-n� do opisów, kolory t�a i obramowania, domy�ln� warto�� itd. W�a�ciwo�ci elementumo�na zdefiniowa� za po�rednictwem okna Properties. Okno wy�wietlane jest po le-wej stronie okna edytora VBA. Pola widoczne w oknie Properties s� zale�ne od ele-mentu (rysunek 8.29 i 8.30).
188 VBA dla Excela 2010 PL. 155 praktycznych przyk�adów
Rysunek 8.29.Niektóre w�a�ciwo�ciprzycisku opcji
Rysunek 8.30.Niektóre w�a�ciwo�ciprzycisku polecenia
Rozdzia� 8. � Elementy steruj�ce arkusza 189
Aby zmieni� w�a�ciwo��, wystarczy klikn�� pozycj� w oknie Properties i wpisa� lubwybra� now�. Niektóre w�a�ciwo�ci mog� przyjmowa� tylko skoczon� liczb� warto-�ci. Po klikni�ciu takiej w�a�ciwo�ci wy�wietlana jest lista, z której mo�na wybiera�w�a�ciwo�ci (rysunek 8.31).
Rysunek 8.31.Lista dost�pnychw�a�ciwo�ci
Inne w�a�ciwo�ci pozwalaj� np. na wybranie elementu graficznego (rysunek 8.32) lubwpisywanie dowolnych warto�ci (rysunek 8.33).
Rysunek 8.32.Klikni�cie polaz trzema kropkamispowodowa�owy�wietlenie oknaumo�liwiaj�cegoza�adowanie obrazka
Rysunek 8.33.W�a�ciwo�� Heightmo�e mie� dowoln�warto��
Z paska Toolbox mo�na wybra� pi�tna�cie kontrolek. Ka�da z nich ma ponad trzydzie-�ci w�a�ciwo�ci. Aby dowiedzie� si�, jakie znaczenie ma w�a�ciwo��, nale�y skorzy-sta� z okna pomocy.
Przyk�ad 105.
Wy�wietl informacj� o w�a�ciwo�ci AutoSize kontrolki CommandButton.
1. Uruchom arkusz Excel.
2. Wy�wietl okno edytora VBA.
3. Wstaw do projektu formularz.
190 VBA dla Excela 2010 PL. 155 praktycznych przyk�adów
4. Umie�� na formularzu kontrolk� CommandButton (rysunek 8.34).
Rysunek 8.34.Formularz z kontrolk�CommandButton
5. Rozwi list� obiektów znajduj�c� si� w górnej cz��ci okna Properties.Wybierz z niej obiekt CommandButton1 (rysunek 8.35).
Rysunek 8.35.W oknie Properties s�wy�wietlane w�a�ciwo�cikontrolki CommandButton
6. Zaznacz w�a�ciwo�� AutoSize (rysunek 8.36).
Rysunek 8.36.Fragmentokna Propertiesz zaznaczon�w�a�ciwo�ci� AutoSize
7. Naci�nij klawisz F1.
8. Wy�wietlone zosta�o okno z informacj� o w�a�ciwo�ci AutoSize (rysunek 8.37).
Rysunek 8.37. Okno z informacj� o w�a�ciwo�ci AutoSize
Rozdzia� 8. � Elementy steruj�ce arkusza 191
W tabeli 8.2 zebrano podstawowe w�a�ciwo�ci kontrolek umieszczanych w formularzach.
Tabela 8.2. Podstawowe w�a�ciwo�ci kontrolek
Kontrolka Znaczenie
(Name) Nazwa kontrolkiBackColor Kolor t�aCaption Opis widoczny na kontrolceColumnCount Liczba kolumnDefault Warto�� domy�lnaHeight Wysoko�� kontrolkiLeft Odleg�o�� lewej kraw�dzi kontrolki od lewego marginesu formatkiMaxLenght Maksymalna d�ugo�� wpisywanego ci�gu znakówMousePointer Wygl�d kursora po naprowadzeniu na kontrolk�Picture Obrazek wy�wietlany jako t�o kontrolkiRowSource Zakres komórek arkusza, z których maj� by� skopiowane dane do kontrolkiScrollBars Paski przewijaniaTextAlign Wyrównanie tekstuTop Odleg�o�� górnej kraw�dzi kontrolki od górnego marginesu formatkiWidth Szeroko�� kontrolkiWordWrap Zawijanie opisów umieszczonych na kontrolce
Podsumowanie� Aby na arkuszu utworzy� formularz, nale�y w oknie edytora VBA wybra�
polecenie Insert/UserForm.
� Aby na formatce pojawi� si� obiekt, nale�y przeci�gn�� go z okna Toolbox.
� Aby przypisa� obiektowi w�a�ciwo�ci, trzeba klikn�� go prawym przyciskiemmyszy i z menu podr�cznego wybra� polecenie Properties, a nast�pniezast�pi� ustawienia domy�lne w�asnymi.
Skorowidz
AAbs, 256Access, 9, 10Activate, 195, 201, 209, 246, 295ActiveCell, 145ActiveCell.Value, 156AddComment, 245AddControl, 209AddinInstall, 195AddinUninstall, 195adres komórki, 104AdvancedFilter, 246AfterSave, 195AfterXmlExport, 195AfterXmlImport, 195aktywna komórka, 144Align, 70And, 270API, 10AppActivate, 261Application.ActiveCell, 145Application.Statusbar, 287ApplyNames, 246ApplyOutlineStyles, 248Arccos, 256Arccosec, 256Arccotan, 256Arcsec, 256Arcsin, 256As, 90Asc, 254Atn, 256AutoFill, 245AutoFilter, 223, 224, 246
AutoFit, 245AutoOutline, 246AutoSize, 189, 190
BBackColor, 61, 65, 191Basic, 7Beep, 261BeforeClose, 195, 196BeforeDoubleClick, 201BeforeDragOver, 209BeforeDropOrPaste, 209BeforePrint, 195BeforeRightClick, 201BeforeSave, 195BeforeXmlExport, 195BeforeXmlImport, 195bezpieczestwo makropolece, 44, 50bezpieczestwo w Microsoft Office 2007 i 2010, 11b��dy, 120, 277, 278, 289
nieuwzgl�dnienie typu danych, 86BMI, 162Boolean, 78, 95BorderAround, 248, 250Byte, 78, 84
CCalculate, 201, 246Call, 261CallByName, 253Caption, 66, 191, 206Case, 162
302 VBA dla Excela 2010 PL. 155 praktycznych przyk�adów
CBool, 253CByte, 253CCur, 253CDate, 253CDbl, 253CDec, 253Cells, 156Change, 201ChDir, 261ChDrive, 261CheckBox, 186CheckSpelling, 246Choose, 253Chr, 253ci�gi znaków, 97, 103CInt, 253Class Modules, 56Clear, 131, 247ClearComments, 247ClearContents, 132, 134, 247ClearFormats, 133, 247ClearNotes, 247ClearOutline, 247Click, 209CLng, 253Close, 261Code, 57, 79ColorIndex, 140, 144, 252ColumnCount, 191ColumnDifferences, 248COM, 10ComboBox, 185, 186Command, 257CommandButton, 64, 187Consolidate, 246Const, 261Copy, 213, 246CopyFromRecordset, 246CopyPicture, 246Cos, 256Cosec, 256Cotan, 256CreateNames, 247CreateObject, 253Criteria1, 225CRM, 10CSng, 253CStr, 253CurDir, 256Currency, 79Customer Relationship Management, 10Cut, 247CVar, 253
CVErr, 254czas, 117, 260czas wykonywania programu, 81czcionki, 66czyszczenie zawarto�ci komórek, 132
Ddane, 73, 120data, 118, 260DataSeries, 247Date, 79, 95, 254, 262Date$, 118DateAdd, 253DateDiff, 256DatePart, 254DateSerial, 254DateValue, 254Day, 254DblClick, 67, 68, 209DDB, 256Deactivate, 195, 197, 201, 209Decimal, 79Declarations, 90Declare, 262Default, 191DefBool, 262DefByte, 262DefCur, 262DefDate, 262DefDbl, 262DefDec, 262DefInt, 262DefLng, 262DefObj, 262DefSng, 262DefStr, 262DefVar, 262deklaracja zmiennych, 79, 81
wymuszanie deklarowania, 88Delete, 246DeleteSetting, 262Deweloper, 25DialogBox, 248Dim, 80, 234, 262Dir, 255Dirty, 248Do Until, 107Do While, 173Do...Loop, 262doc, 9Dodatki, 10dodawanie metody, 130DoEvents, 254
Skorowidz 303
dost�p do metod, 296Double, 78DoubleClick, 203
EEditionOptions, 248edycja makropolecenia, 18, 36edytor Visual Basic, 10, 41
Code, 57, 69eksplorator projektów, 56Excel 2007, 41Excel 2010, 47okno, 55pasek menu, 59pasek narz�dziowy, 59Project, 55Properties, 57, 61prze��czanie mi�dzy widokami, 69uruchamianie, 41, 47wpisywanie kodu, 51wyrównywanie obiektów, 70
eksplorator projektów, 56Elektroniczny sufler, 129elementy steruj�ce arkusza, 177, 186Else, 160End, 90, 262End Sub, 38, 197enterprise resource planning, 10Enum, 262Environ, 257EOF, 257Eqv, 270Erase, 262ERP, 10Err, 125Error, 209, 254, 262etykiety, 151, 186Event, 262Excel, 9Excel 2007, 41Excel 2010, 47Exit Do, 173, 262Exit For, 263Exit Function, 263Exit Property, 263Exit Sub, 263Exp, 256ExportAsFixedFormat, 247
FFalse, 57, 80FileAttr, 254FileCopy, 263
FileDateTime, 254FileLen, 254FillDown, 247FillLeft, 247FillRight, 247FillUp, 247Filter, 256filtrowanie zakresu komórek, 223Find, 227, 228, 248FindNext, 245FindPrevious, 246Fix, 254FollowHyperlink, 201Font, 143For Each…Next, 134, 137, 263For…Next, 166, 263formanty, 177, 186
w�a�ciwo�ci, 187Formanty formularza, 30Format, 254FormatCurrency, 257FormatDateTime, 257formatka, 61, 179FormatNumber, 257Formatowanie formantu, 32FormatPercent, 257Forms, 56formularze, 56, 178, 208
formanty, 186wy�wietlanie, 180zamykanie, 181zdarzenia, 209
Frame, 187FreeFile, 254Function, 263FunctionWizard, 246funkcje, 252
Date$, 118Hex, 258InputBox, 100, 101, 121, 123, 160, 253MsgBox, 109, 113, 155, 231, 253Time$, 118
FV, 256
Ggenerator liczb losowych, 166, 168Get, 263GetAllSettings, 255GetAttr, 254GetObject, 253GetSetting, 256GoSub…Return, 263GoTo, 125, 151, 263Group, 245
304 VBA dla Excela 2010 PL. 155 praktycznych przyk�adów
HHArccos, 256HArccosec, 256HArccotan, 256HArcsec, 256HArcsin, 256HArctan, 256HCos, 256HCosec, 256HCotan, 256Height, 191Hex, 253, 258Hour, 255HSec, 257HSin, 257HTan, 257
IIf...Then…Else, 263If…Then, 160IIf, 253Image, 187Imp, 270Implements, 263informacje o funkcji, 259informacje o metodzie, 250Initialize, 209Input, 254, 263InputBox, 100, 101, 121, 123, 160, 253Insert, 247Insert UserForm, 60InsertIndent, 247InStr, 256InStrRev, 256instrukcje, 261
instrukcja przypisania, 93instrukcje warunkowe, 149
Int, 254Integer, 78, 109, 121, 151interakcja z u�ytkownikiem, 12Interior.Color, 139IPmt, 254IRR, 257IsArray, 257IsDate, 257IsEmpty, 257IsError, 257IsMissing, 257IsNull, 257IsNumeric, 257IsObject, 257
Jj�zyk VBA, 8j�zyk Visual Basic, 8Join, 254Justify, 246justowanie tekstu, 113
KKeyDown, 209KeyPress, 209KeyUp, 209kierunek tekstu, 113Kill, 263klasy, 56, 294
lista metod i w�a�ciwo�ci, 285metody, 295w�a�ciwo�ci, 294zdarzenia, 295
klawisz skrótu, 18, 26kod makropolecenia, 20, 45kod programu, 58, 232kody b��dów, 289kody kolorów, 140kolekcje, 295kolor czcionki, 143kolor t�a formatki, 61kolorowanie t�a komórek, 139kolory, 62, 139komentarze, 38komórki arkusza, 96komunikacja z programem, 205komunikacja z u�ytkownikiem, 99komunikaty, 77, 109komunikaty b��dów, 277, 278komunikaty na pasku stanu, 286konkatenacja �acuchów, 270konwersja liczb decymalnych
na heksadecymalne, 257kopiowanie zakresu komórek, 213kopiowanie zawarto�ci komórek, 138krój czcionki, 66kryteria filtrowania, 225
LLabel, 186Layout, 209LBound, 255LCase, 255Left, 191, 255Len, 255Let, 263
Skorowidz 305
liczby ca�kowite, 109liczby losowe, 166licznik p�tli, 166Line Input, 263lista metod i w�a�ciwo�ci klasy, 285ListBox, 186ListNames, 247listy, 178listy rozwijane, 184Load, 263Loc, 254Lock, 263LOF, 254Log, 255Long, 78LongLong, 78LongPtr, 78Loop, 173LSet, 263LTrim, 254
MMacID, 253MacScript, 253Make Same Size, 70Makro, 44, 49makropolecenia, 10, 15
bezpieczestwo, 44, 50dost�pno�� we wszystkich arkuszach, 273edycja, 18, 36, 37klawisz skrótu, 18, 26kod, 20nazwy, 27Office 2007, 16Office 2010, 23planowanie, 16, 24przypisanie do przycisku, 29rejestrowanie, 17, 24, 25testowanie dzia�ania, 28uruchamianie, 17, 29uruchamianie przyciskiem, 32zapisywanie, 33
MaxLenght, 191Mened�er zada, 242Merge, 246metody, 128, 245, 285, 295
AutoFilter, 224BorderAround, 248, 250Clear, 131ClearContents, 132, 134ClearFormats, 133Copy, 246informacje o metodzie, 250Merge, 246
Select, 128, 248Sort, 220, 246wywo�anie, 296
Microsoft Access, 10Microsoft Access Runtime, 9Microsoft Office 2007, 16Microsoft Office 2010, 23Mid, 255, 263Minute, 255MIRR, 257MkDir, 263Mod, 265modalno�� okna, 112modele obiektowe, 296modu�y klas, 56Month, 255MonthName, 255MouseDown, 209MouseMove, 209MousePointer, 191MouseUp, 209MsgBox, 51, 95, 109, 113, 155, 231, 253MultiPage, 187
Nnadawanie komórce koloru, 139, 140
nadawanie koloru zawarto�ci komórki, 143Name, 61, 263napis na przycisku, 66nazwy
formatki, 62kolory, 139makropolecenia, 27zmienne, 73, 74
NewChart, 195NewSheet, 195NewWorkbook, 204Next, 142normal.dot, 11Not, 270notacja kropkowa, 296Now, 254NPer, 255NPV, 255
Oobiekty, 127, 294
metody, 128, 295odwo�anie do w�a�ciwo�ci, 127Range, 127w�a�ciwo�ci, 127, 135, 294zdarzenia, 295
306 VBA dla Excela 2010 PL. 155 praktycznych przyk�adów
obiekty aktywne, 296Object, 79obliczenia, 85obrazy, 187obs�uga b��dów, 120obs�uga zdarze, 67, 193Oct, 253odwo�ania bezwzgl�dne, 39odwo�ania wzgl�dne, 39odwo�anie do w�a�ciwo�ci, 127Office 2007, 10, 16Office 2010, 10, 16Offset, 144, 145okno dialogowe, 106, 118okno edytora Visual Basic, 55okno komunikatu, 108, 110, 116
ikony, 111przyciski, 110warto�ci zwracane, 113
okno programu, 10okno z kartami, 187On Error, 120, 263On Error GoTo, 120, 152On Error GoTo 0, 120On Error Resume Next, 120On...GoSub, 263On...GoTos, 263Opcje zabezpiecze pakietu Microsoft Office, 43Open, 195, 197, 198, 264operatory, 265
operator konkatenacji, 270operatory arytmetyczne, 265operatory logiczne, 270operatory porównania, 267
Option Base, 264Option Compare, 264Option Explicit, 89, 264Option Private, 264OptionButton, 186Or, 270, 271otwieranie makropolecenia do edycji, 36
PParse, 246Partition, 255pasek narz�dziowy, 61pasek przewijania, 187pasek stanu, 286pasek Toolbox, 186pasek tytu�u, 101, 119PasteSpecial, 247
p�tle, 166Do Until, 107Do While, 173For Each…Next, 134, 137For...Next, 166licznik, 166p�tle zagnie�d�one, 170
Picture, 191PivotTableAfterValueChange, 201PivotTableBeforeAllocateChanges, 201PivotTableBeforeCommitChanges, 201PivotTableBeforeDiscardChanges, 201PivotTableChangeSync, 201PivotTableCloseConnection, 195PivotTableOpenConnection, 195PivotTableUpdate, 201planowanie makropolecenia, 16, 24Pmt, 254podejmowanie decyzji, 160podprogramy, 231, 237
wywo�anie, 237pole edycji, 101pole grupy, 187pole kombi, 184pole listy, 178pole wyboru, 186po�o�enie formatki, 63poprawno�� wprowadzanych danych, 120porównania, 150, 267PPmt, 256Print, 264PrintOut, 247PrintPreview, 248Private, 264procedury, 233
procedury obs�ugi zdarzenia, 193procedury zagnie�d�one, 239procedury zap�tlone, 241
program, 9, 13, 51, 58, 59programowanie, 59
programowanie obiektowe, 293programowanie proceduralne, 293
Project, 55Project - VBAProject, 251Properties, 57, 61, 64, 187Property Get, 264Property Let, 264Property Set, 264przechowywanie makropolece, 18przeci�gnij i upu��, 72prze��czanie mi�dzy widokami edytora Visual
Basic, 69przesuwanie aktywnej komórki, 144
Skorowidz 307
przycisk, 64, 205zdarzenia, 67
przycisk polecenia, 187przycisk prze��cznika, 187przyciski opcji, 186przypisanie makropolecenia do przycisku, 29przypisanie warto�ci, 73, 93przypisanie warto�ci komórce, 135przypisanie zdarze, 67Przypisywanie makra, 30Public, 90, 264Put, 264PV, 255
QQBColor, 257QueryClose, 209
RRaiseEvent, 264Randomize, 166, 168, 264Range, 126, 127, 128, 129, 157, 285, 286
AutoFilter, 223Copy, 213Find, 227Sort, 219
Rate, 255reakcja na zdarzenie, 67ReDim, 264RefEdit, 187rejestrowanie makra, 13, 17, 24, 25Rejestrowanie makra, 17, 25Rem, 264RemoveControl, 209RemoveDuplicates, 247Replace, 255Require Variable Declaration, 89Reset, 264Resize, 209Resume, 264Return, 263RGB, 257Right, 255RmDir, 264Rnd, 255Round, 255RowDifferences, 248RowSource, 182, 191RSet, 264RTrim, 254Run, 246
SSaveSetting, 264schemat blokowy programu, 232Scroll, 209ScrollBar, 187ScrollBars, 191Sec, 256Second, 255Seek, 254, 264Select, 128, 129, 156, 248Select Case, 162, 164, 264SelectionChange, 201SendKeys, 264Set, 264SetAttr, 264SetPhonetic, 247Sgn, 255SheetActivate, 196, 204SheetBeforeDoubleClick, 196, 204SheetBeforeRightClick, 196, 204SheetCalculate, 196, 204SheetChange, 196, 198, 204SheetDeactivate, 196, 204SheetFollowHyperlink, 196, 204SheetPivotTableUpdate, 196, 204SheetSelectionChange, 196, 204Shell, 253Show, 246ShowDependents, 246ShowErrors, 248Sin, 256Single, 78skok do etykiety, 151skoki bezwarunkowy, 152skoroszyt makr osobistych, 18, 26, 274skróty klawiaturowe, 26SLN, 254s�owa zastrze�one, 76Sort, 219, 220, 246sortowanie zakresu komórek, 219Space, 255Spc, 253Speak, 246SpecialCells, 248SpinButton, 187Split, 254sprawdzanie poprawno�ci danych, 120Sqr, 256sta�e kolorów, 140StartUpPosition, 63Static, 90, 264Statusbar, 287sterowanie wykonywaniem procedur, 151
308 VBA dla Excela 2010 PL. 155 praktycznych przyk�adów
Stop, 264Str, 254StrComp, 257StrConv, 255String, 79, 255StrReverse, 255Sub, 38, 264SubscribeTo, 248Switch, 253SYD, 254Sync, 196Syntax error, 77system CRM, 10system ERP, 10system komunikatów, 77
��ledzenie pracy programu, 237
TTab, 253Table, 247TabStrip, 187Tan, 256tekst, 97, 103Terminate, 209testowanie makropolecenia, 28TextAlign, 191TextBox, 186TextToColumns, 246Then, 160Time, 254, 264Time$, 118Timer, 255TimeSerial, 254TimeValue, 253Toggle Button, 187Toolbox, 60, 64, 186Top, 191Trim, 254True, 57, 80tworzenie programu, 13, 59Type, 79, 264TypeName, 255typy danych, 78, 85tytu� okna, 101, 114
UUBound, 255UCase, 253Ungroup, 248
Unload, 181, 264Unlocks, 263UnMerge, 245uruchamianie
edytor Visual Basic, 41, 47makropolecenia, 17, 29
UserForm, 60, 178usuwanie
formatowanie komórek, 131, 133warto�ci mniejsze od progowej, 134zawarto�� komórek, 131, 132
VVal, 256Value, 135Variant, 79, 83, 85VarType, 257VBA, 7, 8, 9, 10, 245
zastosowanie, 11vbAbortRetryIgnore, 110vbApplicationModal, 112vbBlack, 140vbBlue, 140vbCritical, 111vbCyan, 140vbDefaultButton1, 112vbDefaultButton2, 112vbDefaultButton3, 112vbDefaultButton4, 112vbExclamation, 111vbGreen, 140vbInformation, 111vbMagenta, 140vbMsgBoxHelpButton, 112vbMsgBoxRight, 113vbMsgBoxRtlReading, 113vbOKCancel, 110vbOKOnly, 110vbQuestion, 111vbRed, 140vbRetryCancel, 111vbSystemModal, 112vbWhite, 140vbYellow, 140vbYesNo, 111vbYesNoCancel, 110View Code, 179Visual Basic, 8Visual Basic for Applications, 7, 8
Skorowidz 309
Wwarto�ci domy�lne zmiennych, 95Weekday, 255WeekdayName, 255While...Wend, 265Width, 191, 265WindowActivate, 196, 204WindowResize, 196, 204w�a�ciwo�ci, 57, 127, 135, 187, 285, 294
ActiveCell, 145AutoSize, 189BackColor, 191Caption, 206ColorIndex, 140ColumnCount, 191Default, 191Font, 143formularze, 58Height, 191kontrolki, 191Left, 191MaxLenght, 191MousePointer, 191Offset, 144, 145Picture, 191RowSource, 191ScrollBars, 191TextAlign, 191Top, 191Value, 135Width, 191WordWrap, 191zmiana, 189
Word, 9WordWrap, 191WorkbookActivate, 204WorkbookAddinInstall, 204WorkbookAddinUninstall, 204WorkbookAfterXMLExport, 204WorkbookAfterXMLImport, 204WorkbookBeforeClose, 204WorkbookBeforePrint, 204WorkbookBeforeSave, 204WorkbookBeforeXMLExport, 204WorkbookBeforeXMLImport, 204WorkbookDeactivate, 204WorkbookNewSheet, 204WorkbookOpen, 204Worksheet, 202wpisywanie kodu, 51wprowadzanie danych, 100Write, 265wspó�czynnik BMI, 162
wspó�rz�dne komórki, 173wstawianie formantów, 178wybór opcji, 162wymuszanie deklarowania zmiennych, 88wyrównywanie obiektów, 70wyszukiwanie informacji, 227Wy�wietl makra, 18, 43, 49wy�wietlanie formularza, 180wy�wietlanie komunikatów, 52, 109
komunikat na pasku stanu, 286wywo�anie
metody, 296podprogramy, 237procedury, 239
XxlAscending, 222xls, 9xlYes, 222Xor, 270
YYear, 256
Zzagnie�d�anie p�tli, 170zak�adkowy element okna dialogowego, 187zakres komórek, 187, 213
filtrowanie, 223kopiowanie, 213sortowanie, 219wyszukiwanie informacji, 227
zamykanie formularza, 181zap�tlone wywo�anie procedur, 241zapisywanie
arkusz, 19makropolecenie, 33
Zapisz jako, 33, 35Zarejestruj makro, 17, 25zasi�g deklaracji, 90zaznaczanie komórki, 128zdarzenia, 67, 193, 295
BeforeClose, 196DblClick, 68DoubleClick, 203obs�uga, 67, 193procedury obs�ugi, 193zdarzenia aplikacji, 203zdarzenia arkusza, 200zdarzenia formularzy, 209zdarzenia skoroszytu, 195
310 VBA dla Excela 2010 PL. 155 praktycznych przyk�adów
zmiana w�a�ciwo�ci, 189zmienne, 73
deklaracja, 79komórki arkusza, 96nazwy, 73, 74przypisanie, 73pu�apki braku deklaracji, 85, 86tekst, 97typy danych, 78
warto�ci domy�lne, 95wymuszanie deklarowania zmiennych, 88zasi�g deklaracji, 90, 92zmienne globalne, 90, 235zmienne lokalne, 90zmienne obowi�zuj�ce wewn�trz ca�ego
modu�u, 90znak kontynuacji wiersza, 275Zoom, 209