You are on page 1of 18

VBA dla Excela 2007 PL.

XXX praktyczne przykady


Autor: Piotr Czarny
ISBN: 83-246-1218-1
Format: B5, stron: 224
Przykady na ftp: 732 kB

Zautomatyzuj dziaanie arkusza kalkulacyjnego


Poznaj jzyk Visual Basic for Applications i zasady programowania obiektowego
Zaprojektuj interfejsy uytkownika dla aplikacji
Zoptymalizuj dziaanie programu w VBA

Visual Basic for Applications, w skrcie VBA, to jzyk programowania wykorzystywany


do tworzenia programw wykonywanych wewntrz innych aplikacji i korzystajcych
z ich funkcji. Najprostszym programem w VBA jest makropolecenie zarejestrowany
przez uytkownika cig operacji, ktry mona potem wielokrotnie powtrzy.
Makropolecenia mog znacznie przyspieszy i usprawni Twoj prac.
Oczywicie na tym nie kocz si moliwoci VBA. Wiele aplikacji w tym jzyku
powstaje na potrzeby uytkownikw arkusza kalkulacyjnego Excel. Za pomoc VBA
tworzone s wyspecjalizowane narzdzia umoliwiajce wprowadzanie danych, ich
analiz, przetwarzanie i prezentacj bez potrzeby mudnego poszukiwania odpowiedniej
funkcji w menu.
Ksika VBA dla Excela 2007 PL. 88 praktycznych przykadw to podrcznik
opisujcy zasady automatyzowania i usprawniania pracy z tym arkuszem
kalkulacyjnym za pomoc aplikacji VBA. Dziki lekturze tego podrcznika poznasz
jzyk VBA i reguy programowania obiektowego. Nauczysz si korzysta z edytora VBA
dostpnego w pakiecie Microsoft Office, pisa wydajny kod rdowy, dzieli programy
na moduy i projektowa interfejsy uytkownika. Dowiesz si, jak wyszukiwa i usuwa
bdy z aplikacji oraz rozwizywa najczciej spotykane problemy z dziaaniem
programw.

Wydawnictwo Helion
ul. Kociuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl

Rejestrowanie i wykorzystywanie makropolece


VBA i programowanie obiektowe
Edytor VBA
Zmienne i typy danych
Komunikacja z uytkownikiem aplikacji
Przypisywanie wartoci komrkom
Operacje na arkuszu kalkulacyjnym
Podzia programu na moduy funkcjonalne
Usuwanie bdw z kodu

Poznaj ogrom moliwoci VBA i napisz wasne aplikacje dla Excela

Spis treci
Rozdzia 1. Co to jest VBA ................................................................................. 7

Basic ................................................................................................................................. 7
Visual Basic ...................................................................................................................... 8
Visual Basic for Applications ........................................................................................... 8
Czy VBA jest przeytkiem ............................................................................................... 9
VBA i Office 2007 ......................................................................................................... 10
Zmieniony wygld okna programu ........................................................................... 10
Makropolecenia w Office 2007 ................................................................................ 10
Bezpieczestwo w Office 2007 ................................................................................ 11
VBA i Macintosh ............................................................................................................ 11
Jak rol moe peni VBA ............................................................................................ 11
Jak napisa najprostszy program w VBA ......................................................................... 12

Rozdzia 2. Makropolecenia ............................................................................. 13

Office 2003 i 2007 .......................................................................................................... 14


Office 2003 ............................................................................................................... 14
Office 2007 ............................................................................................................... 22

Rozdzia 3. Jak uruchomi edytor Visual Basic .................................................. 31

Czy makropolecenia s grone ....................................................................................... 35

Rozdzia 4. Okno edytora Visual Basic .............................................................. 39

Okno Project ................................................................................................................... 40


Okno Properties .............................................................................................................. 40
Okno Code ...................................................................................................................... 40
Pasek menu ..................................................................................................................... 42
Pasek narzdziowy ......................................................................................................... 43
Pierwszy program ........................................................................................................... 43
Strzelanie z armaty do komara ....................................................................................... 52

Rozdzia 5. Zmienne ........................................................................................ 53

Nazwy zmiennych w VBA ............................................................................................. 53


Puapki systemu komunikatw ....................................................................................... 56
Typy danych ................................................................................................................... 56
Zasig deklaracji ............................................................................................................. 60
Zmienne lokalne ....................................................................................................... 60
Zmienne obowizujce wewntrz caego moduu .................................................... 61
Zmienne globalne ..................................................................................................... 61

VBA dla Excela 2007 PL. 88 praktycznych przykadw

Deklaracja typu i instrukcja przypisania ........................................................................... 62


Komrka arkusza jako zmienna ...................................................................................... 65
Tekst jako warto zmiennej .......................................................................................... 66
Rozdzia 6. Komunikacja z uytkownikiem ........................................................ 67

Wprowadzanie danych ................................................................................................... 67


Wywietlanie komunikatw ........................................................................................... 70
Poprawno wprowadzanych danych ............................................................................. 79

Rozdzia 7. Korzystanie z obiektw ................................................................... 85

Metody ........................................................................................................................... 85
Zaznaczanie komrki ............................................................................................... 85
Usuwanie formatowania ........................................................................................... 87
Waciwoci .................................................................................................................... 89
Przypisanie wartoci komrce .................................................................................. 89
Kopiowanie zawartoci komrek ............................................................................. 90
Nadawanie komrce koloru z uyciem nazwy koloru .............................................. 92
Nadawanie komrce koloru z uyciem kodu koloru ................................................ 94
Przesuwanie wyboru komrki .................................................................................. 97

Rozdzia 8. Instrukcje warunkowe .................................................................... 99

Porwnywanie .............................................................................................................. 100


Sterowanie wykonywaniem procedur ........................................................................... 100
Skok do etykiety ..................................................................................................... 100
Podejmowanie decyzji ............................................................................................ 102
Wybr jednej z trzech lub wicej opcji .................................................................. 104
Wykonanie grupy instrukcji okrelon liczb razy ................................................. 106
Ptle zagniedone ................................................................................................. 108
Wykonywanie ptli, gdy warunek jest speniony ................................................... 110
Wykonywanie ptli, gdy warunek nie jest speniony ............................................. 111

Rozdzia 9. Elementy sterujce arkusza .......................................................... 115

Pole listy ....................................................................................................................... 115


Pole kombi .................................................................................................................... 123
Pasek Toolbox i elementy sterujce arkusza ................................................................. 125
Waciwoci .................................................................................................................. 127

Rozdzia 10. Zdarzenia ..................................................................................... 131

Lista zdarze dla skoroszytu ......................................................................................... 132


Lista zdarze dla arkusza .............................................................................................. 137
Lista zdarze dla aplikacji ............................................................................................ 139
Komunikacja z programem ........................................................................................... 141
Lista zdarze dla formularzy ........................................................................................ 144

Rozdzia 11. Metody i waciwoci dla zakresu ................................................. 147

Kopiowanie zakresu komrek ...................................................................................... 147


Sortowanie zakresu komrek ........................................................................................ 149
Filtrowanie zakresu komrek ....................................................................................... 152
Wyszukiwanie informacji ............................................................................................. 155

Rozdzia 12. Podprogramy ................................................................................ 159


ledzenie pracy programu ............................................................................................ 164
Procedury zagniedone ............................................................................................... 166
Procedury zaptlone ..................................................................................................... 168

Spis treci

Rozdzia 13. cigawka z VBA ......................................................................... 171

Metody ......................................................................................................................... 171


Funkcje ......................................................................................................................... 178
Instrukcje ...................................................................................................................... 188
Operatory ...................................................................................................................... 192
Operatory arytmetyczne ......................................................................................... 192
Operatory porwnywania ....................................................................................... 194
Operator konkatenacji ............................................................................................ 196
Operatory logiczne ................................................................................................. 197

Rozdzia 14. FAQ ............................................................................................. 199

Co zrobi, aby makropolecenia byy dostpne we wszystkich arkuszach? ................... 199


Czy w VBA istnieje operator kontynuacji wiersza? ..................................................... 201
Co oznaczaj komunikaty bdw VBA? ..................................................................... 203
Jak wywietli list metod i waciwoci obiektu? ....................................................... 210
Jak wywietli komunikat na pasku stanu? .................................................................. 211
Zakoczenie ................................................................................ 213
Skorowidz .................................................................................... 215

Rozdzia 7.

Korzystanie z obiektw
Obiektem jest element skadowy aplikacji, np. komrka, zakres komrek.
Obiekty maj waciwoci. Waciwo jest cech obiektu. Waciwociami obiektu Range
s: zawarto komrki, styl czcionki itp.
Metoda jest czynnoci, np.: uaktywnienie komrki lub zakresu komrek, wyczyszczenie komrki lub zakresu komrek.

Metody
Metoda jest sposobem postpowania, ktry prowadzi do okrelonego rezultatu. W przykadach 35. i 36. pokazano, jak rol w poleceniu peni metody.

Zaznaczanie komrki
Do zaznaczania komrek mona wykorzysta metod Select.

Przykad 35.
Napisz program, ktry bdzie zaznacza komrk B2.
1. Uruchom arkusz kalkulacyjny Excel.
2. Nacinij klawisze Alt+F11. Spowoduje to zaadowanie edytora Visual Basic.
3. Nacinij klawisz F7. Spowoduje to wywietlenie okna Code.
4. Wpisz instrukcj Sub przykad35().
5. Nacinij klawisz Enter.
6. Edytor dopisa lini End Sub.
7. Umie znak wstawiania na kocu pierwszej linii.

86

VBA dla Excela 2007 PL. 88 praktycznych przykadw


8. Nacinij klawisz Enter.
9. Podaj nazw obiektu. Wpisz Range (. W oknie edytora pojawia si podpowied

(rysunek 7.1).
Rysunek 7.1.
Edytor podpowiada,
jak mona zdefiniowa
zakres
10. Wpisz "B2")..
11. W oknie edytora pojawia si podpowied (rysunek 7.2).
Rysunek 7.2.
Lista metod
i waciwoci

12. Metody i waciwoci uporzdkowane s alfabetycznie. Zaznaczenie obiektu


powoduje komenda Select. Wpisz liter S.
13. Wywietlona zostaa lista metod i waciwoci o nazwach rozpoczynajcych
si od litery S. Zaznacz metod Select (rysunek 7.3).
Rysunek 7.3.
Lista metod
i waciwoci
o nazwach
rozpoczynajcych
si od litery S

14. Potwierd wybr naciniciem klawisza Enter.


15. Do programu wstawiona zostaa metoda Select.
16. Wywietl okno arkusza Excel (rysunek 7.4). Domylnie wybrana jest

komrka A1.
17. Wywietl okno edytora.
18. Uruchom program klikniciem ikony (rysunek 7.5).
19. Program zosta wykonany.
20. Wywietl okno arkusza Excel (rysunek 7.6). Wybrana jest komrka B2.

Rozdzia 7. Korzystanie z obiektw

87

Rysunek 7.4.
Arkusz z wybran
komrk A1

Rysunek 7.5.
Kliknicie ikony
spowoduje
uruchomienie
programu

Rysunek 7.6.
Arkusz z wybran
komrk B2

Usuwanie formatowania
Usunicie formatowania z komrek wymaga zaznaczenia zakresu komrek i posuenia si metod Clear.

Przykad 36.
Napisz program, ktry bdzie czyci i usuwa formatowanie komrek w zakresie od
A1 do C3.
1. Uruchom arkusz kalkulacyjny Excel.
2. Nacinij klawisze: Alt+F11. Spowoduje to zaadowanie edytora Visual Basic.
3. Nacinij klawisz F7. Spowoduje to wywietlenie okna Code.
4. Wpisz instrukcj Sub przykad36().
5. Nacinij klawisz Enter.
6. Edytor dopisa lini End Sub.
7. Umie znak wstawiania na kocu pierwszej linii.

88

VBA dla Excela 2007 PL. 88 praktycznych przykadw


8. Nacinij klawisz Enter.
9. Podaj nazw obiektu. Wpisz Range(. W oknie edytora pojawia si

podpowied (rysunek 7.7).


Rysunek 7.7.
Operowa mona
na pojedynczych
komrkach lub
ich zakresie
10. Wpisz "A1:C3")..
11. W oknie edytora pojawia si podpowied (rysunek 7.8).
Rysunek 7.8.
Lista metod
i waciwoci

12. Metody i waciwoci uporzdkowane s alfabetycznie. Wyczyszczenie


komrek zakresu powoduje polecenie Clear. Wpisz liter C.
13. Wywietlona zostaa lista metod i waciwoci o nazwach rozpoczynajcych
si od litery C. Zaznacz metod Clear (rysunek 7.9).
Rysunek 7.9.
Lista metod
i waciwoci
o nazwach
rozpoczynajcych
si od litery C

14. Potwierd wybr naciniciem klawisza Enter.


15. Do programu wstawiona zostaa metoda Clear.
16. Wywietl okno arkusza Excel. Domylnie wszystkie komrki s puste.

Wpisz dane do komrek (rysunek 7.10).


Rysunek 7.10.
Arkusz z danymi

Rozdzia 7. Korzystanie z obiektw

89

17. Wywietl okno edytora.


18. Uruchom program klikniciem ikony (rysunek 7.11).
Rysunek 7.11.
Kliknicie ikony
spowoduje
uruchomienie
programu

19. Program zosta wykonany.


20. Wywietl okno arkusza Excel (rysunek 7.12). Komrki z zakresu A1:C3

zostay wyczyszczone.
Rysunek 7.12.
Komrki z zakresu
A1:C3 zostay
wyczyszczone

Waciwoci
Waciwoci jest cecha obiektu. Moe ni by np.: liczba wpisana w komrk, kolor
komrki itp.

Przypisanie wartoci komrce


Warto, ktra jest przypisana komrce, zaley od waciwoci Value.

Przykad 37.
Napisz program, ktry bdzie wpisywa liczb 1 do komrki A1.
1. Uruchom arkusz kalkulacyjny Excel.
2. Nacinij klawisze: Alt+F11. Spowoduje to zaadowanie edytora Visual Basic.
3. Nacinij klawisz F7. Spowoduje to wywietlenie okna Code.
4. Wpisz instrukcj Sub przykad37().
5. Nacinij klawisz Enter.
6. Edytor dopisa lini End Sub.
7. Umie znak wstawiania na kocu pierwszej linii.

90

VBA dla Excela 2007 PL. 88 praktycznych przykadw


8. Nacinij klawisz Enter.
9. Podaj nazw obiektu. Wpisz Range(. W oknie edytora pojawia si

podpowied.
10. Wpisz "A1")..
11. W oknie edytora pojawia si podpowied.
12. Metody i waciwoci uporzdkowane s alfabetycznie. Przypisanie wartoci
komrce powoduje polecenie Value. Wpisz liter v.
13. Wywietlona zostaa lista metod i waciwoci o nazwach rozpoczynajcych
si od litery V. Zaznacz metod Value (rysunek 7.13).
Rysunek 7.13.
Zaznaczona
waciwo

14. Potwierd wybr naciniciem klawisza Enter.


15. Za wartoci Value wpisz =1.
16. Uruchom program klikniciem ikony Run Sub/UserForm (rysunek 7.14).
Rysunek 7.14.
Program mona
uruchomi
klikniciem ikony

17. Wywietl arkusz Excel.


18. W komrce A1 wpisana zosta warto (rysunek 7.15).
Rysunek 7.15.
W komrce A1
wpisana zosta
warto 1

Kopiowanie zawartoci komrek


Kopiowanie zawartoci komrek polega na przypisaniu waciwoci Value obszaru
z ktrego kopiowane s dane, waciwoci Value obszaru, do ktrego dane maj zosta
skopiowane. Innymi sowy, kopiowana jest waciwo Value.

Rozdzia 7. Korzystanie z obiektw

91

Przykad 38.
Napisz program, ktry bdzie kopiowa zawarto obszaru A1:A3 do obszaru B1:B3.
1. Uruchom arkusz kalkulacyjny Excel.
2. Nacinij klawisze Alt+F11. Spowoduje to zaadowanie edytora Visual Basic.
3. Nacinij klawisz F7. Spowoduje to wywietlenie okna Code.
4. Wpisz instrukcj Sub przykad38().
5. Nacinij klawisz Enter.
6. Edytor dopisa lini End Sub.
7. Umie znak wstawiania na kocu pierwszej linii.
8. Nacinij klawisz Enter.
9. Podaj nazw obiektu. Wpisz Range(. W oknie edytora pojawia si

podpowied.
10. Wpisz "B1:B3")..
11. W oknie edytora pojawia si podpowied.
12. Metody i waciwoci uporzdkowane s alfabetycznie. Przypisanie wartoci
komrce powoduje polecenie Value. Wpisz liter v.
13. Wywietlona zostaa lista metod i waciwoci o nazwach rozpoczynajcych
si od litery V. Zaznacz metod Value.
14. Potwierd wybr naciniciem klawisza Enter.
15. Umie znak wstawiania za metod Value (rysunek 7.16).
Rysunek 7.16.
Zakresowi komrek
od B1 do B3
przypisana zostanie
warto
16. Wpisz z klawiatury znak rwnoci.
17. Podaj nazw obiektu, ktrego warto zostanie przypisana obszarowi
od B1 do B3. Wpisz Range(. W oknie edytora pojawia si podpowied.
18. Wpisz "A1:A3")..
19. W oknie edytora pojawia si podpowied.
20. Metody i waciwoci uporzdkowane s alfabetycznie. Przypisanie wartoci
komrce powoduje polecenie Value. Wpisz liter v.
21. Wywietlona zostaa lista metod i waciwoci o nazwach rozpoczynajcych
si od litery V. Zaznacz metod Value.

92

VBA dla Excela 2007 PL. 88 praktycznych przykadw


22. Potwierd wybr naciniciem klawisza Enter.
23. Wywietl arkusz Excel.
24. W komrki od A1 do A3 wpisz odpowiednio: 1, 2, 3.
25. Wywietl okno edytora Visual Basic.
26. Uruchom program klikniciem ikony Run Sub/UserForm (rysunek 7.17).

Rysunek 7.17.
Program mona
uruchomi
klikniciem ikony

27. Wywietl arkusz Excel.


28. W komrkach od B1 do B3 skopiowana zostaa zawarto komrek

od A1 do A3 (rysunek 7.18).
Rysunek 7.18.
W komrkach B1:B3
wpisana zosta
zawarto komrek
A1:A3

Nadawanie komrce koloru z uyciem nazwy koloru


Aby nada komrce kolor, wykorzystujc nazw koloru, naley posuy si waciwoci Interior.Color.

Przykad 39.
Napisz program, ktry bdzie nadawa komrkom z obszaru A1:A3 kolor ty.
1. Uruchom arkusz kalkulacyjny Excel.
2. Nacinij klawisze: Alt+F11. Spowoduje to zaadowanie edytora Visual Basic.
3. Nacinij klawisz F7. Spowoduje to wywietlenie okna Code.
4. Wpisz instrukcj Sub przykad39().
5. Nacinij klawisz Enter.
6. Edytor dopisa lini End Sub.
7. Umie znak wstawiania na kocu pierwszej linii.
8. Nacinij klawisz Enter.

Rozdzia 7. Korzystanie z obiektw


9. Podaj nazw obiektu. Wpisz Range(. W oknie edytora pojawia si

podpowied.
10. Wpisz "A1:A3")..
11. W oknie edytora pojawia si podpowied.
12. Za zmian domylnego koloru komrki odpowiada waciwo Interior.
Wpisz z klawiatury liter i.
13. Zaznacz waciwo Interior (rysunek 7.19).
Rysunek 7.19.
Fragment programu
z otwartym menu
podrcznym

14. Umie kursor za waciwoci Interior.


15. Korzystajc z menu, ktre zostanie wywietlone po wpisaniu kropki,
wstaw do programu waciwo Color.
16. Przypisz waciwoci Interior warto vbYellow (rysunek 7.20).
Rysunek 7.20.
Gotowy kod programu

17. Uruchom program.


18. Wywietl okno arkusza Excel.
19. Kolor komrek od A1 do A3 zosta zmieniony (rysunek 7.21).
Rysunek 7.21.
Komrki, ktrych
kolor zosta zmieniony

W tabeli 7.1 zebrano stae, ktrych przypisanie waciwoci Interior powoduje wywietlenie ta komrki w okrelonym kolorze.

93

94

VBA dla Excela 2007 PL. 88 praktycznych przykadw

Tabela 7.1. Stae odpowiadajce najczciej uywanym kolorom


Staa

Kolor

vbBlack

czarny

vbRed

czerwony

vbGreen

zielony

vbYellow

ty

vbBlue

niebieski

vbMagenta

fioletowy

vbCyan

zielononiebieski

vbWhite

biay

Nadawanie komrce koloru z uyciem kodu koloru


Aby nada komrce kolor, wykorzystujc kod koloru, naley posuy si waciwoci ColorIndex.

Przykad 40.
Napisz program, ktry bdzie nadawa komrkom z obszaru A1:A56 kolory z palety
barw dostpnej za porednictwem waciwoci ColorIndex.
1. Uruchom arkusz kalkulacyjny Excel.
2. Nacinij klawisze: Alt+F11. Spowoduje to zaadowanie edytora Visual Basic.
3. Nacinij klawisz F7. Spowoduje to wywietlenie okna Code.
4. Wpisz instrukcj Sub przykad40().
5. Nacinij klawisz Enter.
6. Edytor dopisa lini End Sub.
7. Umie znak wstawiania na kocu pierwszej linii.
8. Nacinij klawisz Enter.
9. Podaj nazw obiektu. Wpisz Range(. W oknie edytora pojawia si podpowied.
10. Wpisz "A1")..
11. W oknie edytora pojawia si podpowied.
12. Za zmian domylnego koloru komrki odpowiada waciwo Interior.
Wpisz z klawiatury liter i.
13. Zaznacz waciwo Interior (rysunek 7.19).
14. Umie kursor za waciwoci Interior.
15. Korzystajc z menu, ktre zostanie wywietlone po wpisaniu kropki,
wstaw do programu waciwo ColorIndex.

Rozdzia 7. Korzystanie z obiektw


16. Przypisz waciwoci Interior warto 1 (rysunek 7.22).
Rysunek 7.22.
Fragment programu

17. Uruchom program.


18. Wywietl okno arkusza Excel.
19. Kolor komrki A1 zosta zmieniony na czarny (rysunek 7.23).
Rysunek 7.23.
Kolor komrki A1 zosta
zmieniony na czarny
20. Wywietl okno edytora Visual Basic.
21. Dopisz do programu linie Range("An").Interior.ColorIndex = n, gdzie n = 1,

2, 3,... 56:
Sub przykad40()
Range("A1").Interior.ColorIndex = 1
Range("A2").Interior.ColorIndex = 2
Range("A3").Interior.ColorIndex = 3
Range("A4").Interior.ColorIndex = 4
Range("A5").Interior.ColorIndex = 5
Range("A6").Interior.ColorIndex = 6
Range("A7").Interior.ColorIndex = 7
Range("A8").Interior.ColorIndex = 8
Range("A9").Interior.ColorIndex = 9
Range("A10").Interior.ColorIndex = 10
Range("A11").Interior.ColorIndex = 11
Range("A12").Interior.ColorIndex = 12
Range("A13").Interior.ColorIndex = 13
Range("A14").Interior.ColorIndex = 14
Range("A15").Interior.ColorIndex = 15
Range("A16").Interior.ColorIndex = 16
Range("A17").Interior.ColorIndex = 17
Range("A18").Interior.ColorIndex = 18
Range("A19").Interior.ColorIndex = 19
Range("A20").Interior.ColorIndex = 20
Range("A21").Interior.ColorIndex = 21
Range("A22").Interior.ColorIndex = 22
Range("A23").Interior.ColorIndex = 23
Range("A24").Interior.ColorIndex = 24
Range("A25").Interior.ColorIndex = 25
Range("A26").Interior.ColorIndex = 26
Range("A27").Interior.ColorIndex = 27
Range("A28").Interior.ColorIndex = 28
Range("A29").Interior.ColorIndex = 29
Range("A30").Interior.ColorIndex = 30
Range("A31").Interior.ColorIndex = 31
Range("A32").Interior.ColorIndex = 32
Range("A33").Interior.ColorIndex = 33
Range("A34").Interior.ColorIndex = 34
Range("A35").Interior.ColorIndex = 35

95

96

VBA dla Excela 2007 PL. 88 praktycznych przykadw


Range("A36").Interior.ColorIndex
Range("A37").Interior.ColorIndex
Range("A38").Interior.ColorIndex
Range("A39").Interior.ColorIndex
Range("A40").Interior.ColorIndex
Range("A41").Interior.ColorIndex
Range("A42").Interior.ColorIndex
Range("A43").Interior.ColorIndex
Range("A44").Interior.ColorIndex
Range("A45").Interior.ColorIndex
Range("A46").Interior.ColorIndex
Range("A47").Interior.ColorIndex
Range("A48").Interior.ColorIndex
Range("A49").Interior.ColorIndex
Range("A50").Interior.ColorIndex
Range("A51").Interior.ColorIndex
Range("A52").Interior.ColorIndex
Range("A53").Interior.ColorIndex
Range("A54").Interior.ColorIndex
Range("A55").Interior.ColorIndex
Range("A56").Interior.ColorIndex

=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=

36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56

End Sub

22. Uruchom program.


1. Wywietl okno arkusza Excel.
24. W komrkach od A1 do A56 wywietlone zostay prbki kolorw (rysunek 7.24).
Rysunek 7.24.
Numer wiersza
odpowiada wartoci
parametru ColorIndex

Jeeli w programie z przykadu 40. waciwo Interior zostanie zastpiona przez


waciwo Border, zmienione zostan kolory obramowa komrek.

Jeeli w programie z przykadu 40. waciwo Interior zostanie zastpiona przez


waciwo Font, zmienione zostan kolory czcionki.

Rozdzia 7. Korzystanie z obiektw

97

Przesuwanie wyboru komrki


W arkuszu kalkulacyjnym musi by wybrana jedna komrka. W niej bd np. pojawiay si znaki wpisywane z klawiatury. Wpisujc lub odczytujc dane, przesuwamy
si do innej komrki. Do tego celu najwygodniej wykorzysta waciwo Offset.
Ma ona nastpujc skadni:
Offset(x,y)

gdzie:
x przesunicie w poziomie,
y przesunicie w pionie.

Wartoci ujemne powoduj odpowiednio przesunicie w lewo lub w gr. Wartoci


dodatnie powoduj odpowiednio przesunicie w prawo lub w d.

Przykad 41.
Napisz program, ktry bdzie przesuwa wybran komrk o jedn komrk w d
i trzy komrki w prawo, a nastpnie do zaznaczonej komrki wstawi tekst Zawarto.
1. Uruchom arkusz kalkulacyjny Excel.
2. Nacinij klawisze: Alt+F11. Spowoduje to zaadowanie edytora Visual Basic.
3. Nacinij klawisz F7. Spowoduje to wywietlenie okna Code.
4. Wpisz instrukcj Sub przykad41().
5. Nacinij klawisz Enter.
6. Edytor dopisa lini End Sub.
7. Umie znak wstawiania na kocu pierwszej linii.
8. Nacinij klawisz Enter.
9. Wpisz z klawiatury kod Range("A1").Offset(1, 3) = "Zawarto". Punktem
odniesienia jest komrka A1. Waciwo Offset powoduje przesunicie

zaznaczenia o jedn komrk w d i trzy komrki w prawo. Cig znakw


widoczny po znaku rwnoci zostanie wstawiony do zaznaczonej komrki.
10. Uruchom program (rysunek 7.25).
Rysunek 7.25.
Kliknicie ikony
spowoduje
uruchomienie
programu

11. Wywietl okno arkusza Excel (rysunek 7.26).

98

VBA dla Excela 2007 PL. 88 praktycznych przykadw

Rysunek 7.26. Zaznaczona jest komrka A1. Tre zostaa wpisana do komrki odlegej o zadane
przesunicie

Przykad 42.
Napisz program, ktry bdzie przesuwa zaznaczanie komrki o jedn komrk w d
i trzy komrki w prawo.
1. Uruchom arkusz kalkulacyjny Excel.
2. Nacinij klawisze: Alt+F11. Spowoduje to zaadowanie edytora Visual Basic.
3. Nacinij klawisz F7. Spowoduje to wywietlenie okna Code.
4. Wpisz instrukcj Sub przykad42().
5. Nacinij klawisz Enter.
6. Edytor dopisa lini End Sub.
7. Umie znak wstawiania na kocu pierwszej linii.
8. Nacinij klawisz Enter.
9. Wpisz z klawiatury kod ActiveCell.Offset(1, 3).Select. Punktem odniesienia
jest komrka aktywna. Waciwo Offset powoduje przesunicie zaznaczenia
o jedn komrk w d i trzy komrki w prawo. Metoda Select powoduje

wybranie komrki.
10. Wywietl arkusz Excel. Domylnie zaznaczona jest komrka A1.
11. Uruchom program (rysunek 7.27).
Rysunek 7.27.
Kliknicie ikony
spowoduje
uruchomienie
programu

12. Wywietl okno arkusza Excel (rysunek 7.28).


Rysunek 7.28.
Zaznaczona jest
komrka D2

You might also like