Excel jeszcze bogatszy, poręczniejszy i dostosowany do Twoich potrzeb
Możliwości Excela są ogromne, jednak nie zawsze w pełni odpowiadają naszym potrzebom. Najpopularniejszy obecnie arkusz kalkulacyjny zawiera także wiele interesujących funkcji ukrytych w tle i nieznanych typowemu użytkownikowi. Czy istnieje sposób na wykorzystanie ukrytych funkcji Excela oraz dostosowanie tych znanych do wymagań stawianych przez konkretne zadanie? Tak -- tym sposobem jest Visual Basic for Applications (VBA). VBA to język programowania umożliwiający tworzenie aplikacji bazujących na możliwościach innych aplikacji, w tym przypadku -- na możliwościach Excela.
Książka 'Excel 2003 PL. Programowanie w VBA. Vademecum profesjonalisty' przeznaczona jest dla wszystkich użytkowników Excela, którzy chcą pogłębić swoją wiedzę o tej aplikacji i stworzyć własne, powiązane z nią, programy. Przedstawia podstawy programowania w Excelu oraz techniki zaawansowane -- wszystko, co jest związane z projektowaniem aplikacji w Excelu i programowaniem w języku VBA.
Niezbędne wiadomości o Excelu i wykorzystywanych przez niego formatach plików
Zasady projektowania aplikacji arkusza kalkulacyjnego
Programowanie w języku VBA
Tworzenie niestandardowych okien dialogowych -- formularzy UserForm
Pisanie narzędzi dla programu Excel
Praca z wykresami
Programowanie obsługi zdarzeń
Współpraca z innymi aplikacjami
Tworzenie elementów aplikacji -- menu, pasków narzędzi i systemów pomocy
Operacje na plikach
Komponenty języka VBA
Niewielu użytkowników Excela jest tak naprawdę świadomych jego możliwości. Przeczytaj niniejszą książkę i dołącz do tej elitarnej grupy.
Znajdź podobne książki
Ostatnio czytane w tej kategorii
Darmowy fragment publikacji:
IDZ DO
IDZ DO
PRZYK£ADOWY ROZDZIA£
PRZYK£ADOWY ROZDZIA£
SPIS TREĎCI
SPIS TREĎCI
KATALOG KSI¥¯EK
KATALOG KSI¥¯EK
KATALOG ONLINE
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
TWÓJ KOSZYK
Excel 2003 PL.
Programowanie w VBA.
Vademecum profesjonalisty
Autor: John Walkenbach
T³umaczenie: Rados³aw Meryk, Piotr Pilch
ISBN: 83-7361-504-0
Tytu³ orygina³u: Excel 2003 Power Programming with VBA
Format: B5, stron: 872
DODAJ DO KOSZYKA
DODAJ DO KOSZYKA
Excel jeszcze bogatszy, porêczniejszy i dostosowany do Twoich potrzeb
CENNIK I INFORMACJE
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
ZAMÓW INFORMACJE
O NOWOĎCIACH
O NOWOĎCIACH
ZAMÓW CENNIK
ZAMÓW CENNIK
CZYTELNIA
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Mo¿liwoġci Excela s¹ ogromne, jednak nie zawsze w pe³ni odpowiadaj¹ naszym
potrzebom. Najpopularniejszy obecnie arkusz kalkulacyjny zawiera tak¿e wiele
interesuj¹cych funkcji ukrytych w tle i nieznanych typowemu u¿ytkownikowi.
Czy istnieje sposób na wykorzystanie ukrytych funkcji Excela oraz dostosowanie tych
znanych do wymagañ stawianych przez konkretne zadanie? Tak -- tym sposobem jest
Visual Basic for Applications (VBA). VBA to jêzyk programowania umo¿liwiaj¹cy
tworzenie aplikacji bazuj¹cych na mo¿liwoġciach innych aplikacji, w tym przypadku —
na mo¿liwoġciach Excela.
Ksi¹¿ka „Excel 2003 PL. Programowanie w VBA. Vademecum profesjonalisty”
przeznaczona jest dla wszystkich u¿ytkowników Excela, którzy chc¹ pog³êbiæ swoj¹
wiedzê o tej aplikacji i stworzyæ w³asne, powi¹zane z ni¹, programy. Przedstawia
podstawy programowania w Excelu oraz techniki zaawansowane — wszystko, co jest
zwi¹zane z projektowaniem aplikacji w Excelu i programowaniem w jêzyku VBA.
• Niezbêdne wiadomoġci o Excelu i wykorzystywanych przez
niego formatach plików
• Zasady projektowania aplikacji arkusza kalkulacyjnego
• Programowanie w jêzyku VBA
• Tworzenie niestandardowych okien dialogowych — formularzy UserForm
• Pisanie narzêdzi dla programu Excel
• Praca z wykresami
• Programowanie obs³ugi zdarzeñ
• Wspó³praca z innymi aplikacjami
• Tworzenie elementów aplikacji — menu, pasków narzêdzi i systemów pomocy
• Operacje na plikach
• Komponenty jêzyka VBA
Niewielu u¿ytkowników Excela jest tak naprawdê ġwiadomych jego mo¿liwoġci.
Przeczytaj niniejsz¹ ksi¹¿kê i do³¹cz do tej elitarnej grupy.
5RKUVTGħEK
1#WVQTG
2TGFOQYC
úħè+
2QFUVCYQYGKPHQTOCELGF
4QFKCđ
5MæFUKúYKæđ ZEGN!
Historia arkuszy kalkulacyjnych w zarysie ...................................................u........................29
Wszystko zaczęło się od programu VisiCalc ...................................................u...............29
Program 1-2-3 firmy Lotus...................................................u...........................................30
Program Quattro Pro...................................................u...................................................u..33
Program Microsoft Excel...................................................u..............................................34
Excel jako dobre narzędzie dla projektantów aplikacji ...................................................u......36
Rola Excela w strategii Microsoftu ...................................................u....................................38
4QFKCđ 2TQITCO ZEGNYCT[UKG
Myślenie obiektowe...................................................u...................................................u.........39
Skoroszyty ...................................................u...................................................u...............
........40
Arkusze...................................................u...................................................u......................40
Arkusze wykresów ...................................................u...................................................u....41
Arkusze makr XLM...................................................u...................................................u...42
Arkusze dialogowe programów Excel 5/95...................................................u..................42
Interfejs użytkownika w Excelu ...................................................u.........................................42
Menu...................................................u...................................................u..........................42
Menu podręczne ...................................................u...................................................u........43
Paski narzędzi ...................................................u...................................................u............43
Okna dialogowe...................................................u...................................................u.........44
Funkcja „przeciągnij i upuść”...................................................u.......................................45
Skróty klawiaturowe...................................................u...................................................u..45
Inteligentne tagi ...................................................u...................................................u.........45
Panel zadań ...................................................u...................................................u................46
Wprowadzanie danych...................................................u...................................................u.....46
Formuły, funkcje i nazwy ...................................................u...................................................u48
Dostosowywanie zawartości okna Excela ...................................................u..........................49
Zaznaczanie obiektów...................................................u...................................................u......49
Formatowanie ...................................................u...................................................u..................50
Formatowanie liczbowe...................................................u................................................50
Formatowane stylu ...................................................u...................................................u....50
Kształty ...................................................u...................................................u.................
...........51
Wykresy ...................................................u...................................................u...........................52
Makra i programowanie...................................................u...................................................u...52
4
Excel 2003 PL. Programowanie w VBA. Vademecum profesjonalisty
Dostęp do bazy danych ...................................................u...................................................u....53
Arkuszowe bazy danych...................................................u...............................................53
Zewnętrzne bazy danych ...................................................u..............................................55
Funkcje internetowe...................................................u...................................................u.........55
Funkcje związane z językiem XML ...................................................u...................................56
Narzędzia analizy...................................................u...................................................u.............56
Konspekty...................................................u...................................................u..................56
Automatyczne sumy częściowe...................................................u....................................56
Dodatek Analysis ToolPak ...................................................u...........................................56
Tabele przestawne ...................................................u...................................................u.....57
Dodatek Solver ...................................................u...................................................u..........58
Dodatki...................................................u...................................................u.............................58
Zgodność wersji...................................................u...................................................u...............58
Opcje ochrony...................................................u...................................................u..................58
Ochrona formuł przed nadpisaniem ...................................................u.............................59
Ochrona struktury skoroszytu...................................................u.......................................59
Ochrona skoroszytu przy użyciu hasła ...................................................u.........................60
Ochrona kodu języka VBA przy użyciu hasła...................................................u..............60
System pomocy Excela...................................................u...................................................u....61
4QFKCđ 9[DTCPGCUCF[UVQUQYCPKCHQTOWđ
Formuły...................................................u...................................................u..................
..........63
Obliczanie formuł ...................................................u...................................................u............63
Odwołania do komórki lub zakresu ...................................................u....................................64
Dlaczego warto stosować odwołania, które nie są względne? ........................................65
Notacja W1K1 ...................................................u...................................................u...........65
Odwołania do innych arkuszy lub skoroszytów ...................................................u...........66
Zastosowanie nazw ...................................................u...................................................u..........67
Nadawanie nazw komórkom i zakresom...................................................u......................67
Nadawanie nazw istniejącym odwołaniom ...................................................u..................68
Stosowanie nazw z operatorem przecięcia ...................................................u...................69
Nadawanie nazw kolumnom i wierszom...................................................u......................70
Obszar obowiązywania nazw ...................................................u.......................................70
Nadawanie nazw stałym ...................................................u...............................................70
Nadawanie nazw formułom...................................................u..........................................71
Nadawanie nazw obiektom...................................................u...........................................73
Błędy formuł ...................................................u...................................................u.............
.......73
Formuły tablicowe ...................................................u...................................................u...........74
Przykład formuły tablicowej ...................................................u........................................74
Kalendarz oparty na formule tablicowej ...................................................u......................75
Zalety i wady formuły tablicowej...................................................u.................................75
Metody zliczania i sumowania ...................................................u...........................................76
Zastosowanie funkcji LICZ.JEŻELI lub SUMA.JEŻELI ...............................................76
Zastosowanie formuł tablicowych do zliczania i sumowania .........................................77
Inne narzędzia zliczające ...................................................u..............................................79
Używanie daty i czasu ...................................................u...................................................u.....79
Wprowadzanie daty i czasu ...................................................u..........................................79
Stosowanie dat sprzed roku 1900 ...................................................u.................................80
Tworzenie megaformuł...................................................u...................................................u....81
4QFKCđ 2NKMK ZEGNC
Uruchamianie Excela ...................................................u...................................................u.......85
Obsługiwane formaty plików arkuszy kalkulacyjnych...................................................u.......87
Pliki arkusza kalkulacyjnego 1-2-3 firmy Lotus ...................................................u..........87
Pliki arkusza kalkulacyjnego Quattro Pro ...................................................u....................88
Spis treści
5
Formaty plików baz danych ...................................................u.........................................88
Formaty plików tekstowych ...................................................u.........................................89
Inne formaty plików ...................................................u...................................................u..89
Pliki tworzone przez Excel ...................................................u.................................................89
Pliki formatu XLS ...................................................u...................................................u.....90
Pliki obszaru roboczego...................................................u................................................90
Pliki szablonów......................................u...................................................u.......................91
Pliki pasków narzędzi...................................................u...................................................u91
Pliki dodatków...................................................u...................................................u...........92
Excel i język HTML ...................................................u...................................................u........92
W jaki sposób Excel korzysta z formatu HTML? ...................................................u........93
Zwiększanie złożoności...................................................u................................................94
Tworzenie interaktywnych plików HTML...................................................u...................94
Importowanie i eksportowanie plików XML...................................................u......................96
Czym jest XML? ...................................................u...................................................u.......96
Importowanie zawartości plików XML przy użyciu mapy .............................................97
Importowanie zawartości plików XML do listy...................................................u...........99
Eksportowanie zawartości plików XML z Excela ...................................................u.......99
Ustawienia Excela w rejestrze systemu Windows...................................................u............100
Rejestr systemu Windows ...................................................u..........................................100
Ustawienia Excela ...................................................u...................................................u...101
úħè++
2TQLGMVQYCPKGCRNKMCELKY ZEGNW
4QFKCđ [OLGUVCRNKMCELCCTMWUCMCNMWNCE[LPGIQ!
Robocza definicja aplikacji arkusza kalkulacyjnego ...................................................u........105
Projektant i użytkownik końcowy ...................................................u....................................106
Kim są projektanci i czym się zajmują? ...................................................u.....................107
Klasyfikacja użytkowników arkuszy kalkulacyjnych ...................................................u108
Odbiorcy aplikacji arkusza kalkulacyjnego...................................................u................108
Rozwiązywanie problemów przy użyciu aplikacji arkusza kalkulacyjnego........................109
Podstawowe kategorie aplikacji arkusza kalkulacyjnego ...................................................u.110
Arkusze kalkulacyjne tworzone szybko i niestarannie..................................................111
Arkusze kalkulacyjne przeznaczone wyłącznie do użytku prywatnego........................111
Aplikacje jednego użytkownika ...................................................u.................................112
Aplikacje typu „spaghetti”...................................................u..........................................112
Aplikacje użytkowe ...................................................u...................................................u.112
Dodatki zawierające funkcje arkusza ...................................................u.........................113
Jednoblokowe budżety ...................................................u...............................................113
Modele warunkowe ...................................................u...................................................u.114
Aplikacje przechowujące dane i udzielające do nich dostępu.......................................114
Aplikacje komunikujące się z bazami danych...................................................u............115
Aplikacje „pod klucz” ...................................................u................................................115
4QFKCđ 2QFUVCY[RTQLGMVQYCPKCCRNKMCELKCTMWUCMCNMWNCE[LPGIQ
Podstawowe etapy projektowania...................................................u.....................................117
Określenie wymagań użytkownika ...................................................u...................................118
Planowanie aplikacji spełniającej wymagania użytkownika ...............................................119
Określenie najwłaściwszego interfejsu użytkownika ...................................................u.......121
Tworzenie niestandardowych okien dialogowych ...................................................u.....122
Zastosowanie kontrolek ActiveX w arkuszu ...................................................u..............122
Dostosowanie menu...................................................u...................................................u.123
Dostosowywanie pasków narzędzi...................................................u.............................125
Tworzenie skrótów klawiaturowych ...................................................u..........................127
Rozpoczęcie prac projektowych...................................................u.................................127
6
Excel 2003 PL. Programowanie w VBA. Vademecum profesjonalisty
Zadania realizowane z myślą o końcowym użytkowniku ...................................................u127
Testowanie aplikacji ...................................................u...................................................u128
Zwiększanie odporności aplikacji ...................................................u..............................128
Tworzenie aplikacji intuicyjnej i estetycznie wyglądającej ..........................................131
Tworzenie systemu pomocy przeznaczonego dla użytkownika....................................132
Dokumentowanie prac projektowych...................................................u.........................132
Przekazanie aplikacji użytkownikom ...................................................u.........................132
Uaktualnianie aplikacji w razie konieczności ...................................................u............133
Pozostałe kwestie dotyczące projektowania ...................................................u.....................134
Wersja Excela zainstalowana przez użytkownika ...................................................u......134
Wersja językowa...................................................u...................................................u......134
Szybkość systemu...................................................u...................................................u....135
Tryby karty graficznej ...................................................u................................................135
úħè+++ ,ú[M8KUWCN$CUKEHQT#RRNKECVKQPU
4QFKCđ 9RTQYCFGPKGFQLú[MC8$#
Podstawowe informacje o języku BASIC ...................................................u........................139
Język VBA...................................................u...................................................u.....................139
Modele obiektowe ...................................................u...................................................u...140
Porównanie języka VBA z językiem XLM...................................................u................140
Wprowadzenie do języka VBA ...................................................u........................................140
Edytor Visual Basic ...................................................u...................................................u.......144
Uruchomienie edytora VBE ...................................................u.......................................144
Okna edytora Visual Basic ...................................................u.........................................145
Zastosowanie okna Project Explorer ...................................................u................................146
Dodanie nowego modułu VBA ...................................................u..................................147
Usuwanie modułu VBA...................................................u..............................................148
Eksportowanie i importowanie obiektów ...................................................u...................148
Zastosowanie okien Code ...................................................u.................................................148
Minimalizacja i maksymalizacja okien ...................................................u......................149
Przechowywanie kodu źródłowego języka VBA ...................................................u.......149
Wprowadzanie kodu źródłowego języka VBA ...................................................u..........150
Dostosowywanie edytora Visual Basic...................................................u.............................155
Zakładka Editor ...................................................u...................................................u.......156
Zakładka Editor Format...................................................u..............................................158
Zakładka General...................................................u...................................................u.....159
Zastosowanie zakładki Docking...................................................u.................................160
Rejestrator makr Excela...................................................u...................................................u.160
Co właściwie rejestrator makr zapisuje? ...................................................u....................161
Względne czy bezwzględne?...................................................u......................................162
Opcje związane z rejestrowaniem ...................................................u..............................165
Modyfikowanie zarejestrowanych makr ...................................................u....................166
....167
Obiekty i zbiory ...................................................u...................................................u.........
Hierarchia obiektów ...................................................u...................................................u168
Zbiory ...................................................u...................................................u...................
...168
Odwoływanie się do obiektów ...................................................u...................................169
Właściwości i metody...................................................u...................................................u....169
Właściwości obiektów...................................................u................................................170
Metody obiektów...................................................u...................................................u.....171
Obiekt Comment...................................................u...................................................u...........
.172
Pomoc dotycząca obiektu Comment ...................................................u..........................172
Właściwości obiektu Comment ...................................................u..................................173
Metody obiektu Comment ...................................................u..........................................173
Spis treści
7
Zbiór Comments ...................................................u...................................................u......174
Właściwość Comment ...................................................u................................................175
Obiekty podlegające obiektowi Comment ...................................................u.................175
Sprawdzanie, czy komórka zawiera komentarz ...................................................u.........177
Dodanie nowego obiektu Comment ...................................................u...........................177
Kilka przydatnych właściwości obiektu Application ...................................................u.178
Obiekty Range ...................................................u...................................................u...............179
Właściwość Range...................................................u...................................................u...180
Właściwość Cells...................................................u...................................................u.....181
Właściwość Offset...................................................u...................................................u...182
Co należy wiedzieć o obiektach?...................................................u......................................184
Podstawowe zagadnienia, które należy zapamiętać ...................................................u...184
Dodatkowe informacje na temat obiektów i właściwości .............................................185
4QFKCđ 2QFUVCY[RTQITCOQYCPKCYLú[MW8$#
Przegląd elementów języka VBA ...................................................u.....................................189
Komentarze...................................................u...................................................u....................191
Zmienne, typy danych i stałe ...................................................u............................................192
Definiowanie typów danych...................................................u.......................................193
Deklarowanie zmiennych ...................................................u...........................................196
Zasięg zmiennych ...................................................u...................................................u....197
Zastosowanie stałych...................................................u..................................................201
Zastosowanie łańcuchów...................................................u............................................202
Zastosowanie dat ...................................................u...................................................u.....203
Instrukcje przypisania ...................................................u...................................................u....204
Tablice ...................................................u...................................................u...........................205
Deklarowanie tablic...................................................u...................................................u.205
Deklarowanie tablic wielowymiarowych ...................................................u...................206
Zmienne obiektowe...................................................u...................................................u........207
Typy danych definiowane przez użytkownika ...................................................u.................208
Funkcje wbudowane ...................................................u...................................................u......208
Manipulowanie obiektami i zbiorami ...................................................u...............................211
Konstrukcja With ... End With ...................................................u...................................211
Konstrukcja For Each ... Next ...................................................u....................................212
Sterowanie wykonywaniem procedur...................................................u...............................214
Instrukcja GoTo...................................................u...................................................u.......214
Konstrukcja If ... Then...................................................u................................................215
Konstrukcja Select Case ...................................................u.............................................218
Wykonywanie bloku instrukcji w ramach pętli...................................................u..........221
CUVQUQYCPKGRTQEGFWT5WDLú[MC8$#
Deklarowanie i tworzenie procedur Sub języka VBA...................................................u......227
Deklarowanie procedury Sub ...................................................u.....................................227
Zasięg procedury ...................................................u...................................................u.....228
Wykonywanie procedur Sub...................................................u.............................................229
Wykonywanie procedury przy użyciu polecenia Run Sub/UserForm ..........................230
Uruchamianie procedury z poziomu okna dialogowego Makro ...................................230
Wykonywanie procedury przy użyciu skrótu opartego na klawiszu Ctrl......................231
Wykonywanie procedury przy użyciu niestandardowego menu...................................232
Wywoływanie procedury z innej procedury...................................................u...............233
Wykonywanie procedury przy użyciu przycisku paska narzędzi..................................237
Wykonywanie procedury poprzez kliknięcie obiektu ...................................................u238
Wykonywanie makra po wystąpieniu zdarzenia ...................................................u........239
Wykonywanie procedury z poziomu okna Immediate ..................................................239
4QFKCđ
8
Excel 2003 PL. Programowanie w VBA. Vademecum profesjonalisty
Przekazywanie argumentów procedurom ...................................................u.........................240
Metody obsługi błędów ...................................................u...................................................u.243
Przechwytywanie błędów ...................................................u...........................................243
Przykłady kodu źródłowego obsługującego błędy ...................................................u.....245
Rzeczywisty przykład wykorzystujący procedury Sub ...................................................u....247
......247
Cel...................................................u...................................................u......................
Wymagania projektowe...................................................u..............................................247
Dostępne informacje...................................................u...................................................u248
Sposób realizacji...................................................u...................................................u......248
Co należy wiedzieć? ...................................................u...................................................u249
Wstępne rejestrowanie makra...................................................u.....................................249
Wstępne przygotowania ...................................................u.............................................250
Pisanie kodu źródłowego...................................................u............................................251
Tworzenie procedury sortującej ...................................................u.................................252
Dodatkowe testy ...................................................u...................................................u......255
Usuwanie problemów ...................................................u.................................................256
Dostępność narzędzia ...................................................u.................................................258
Ocenianie projektu...................................................u...................................................u...259
4QFKCđ 6YQTGPKGRTQEGFWT(WPEVKQP
Porównanie procedur Sub i Function...................................................u................................261
Dlaczego tworzy się funkcje niestandardowe? ...................................................u.................261
Pierwszy przykład procedury Function ...................................................u............................262
Funkcja niestandardowa ...................................................u.............................................262
Zastosowanie funkcji w arkuszu...................................................u.................................263
Zastosowanie funkcji w procedurze języka VBA ...................................................u......264
Analiza funkcji niestandardowej ...................................................u................................264
Procedury Function...................................................u...................................................u........265
Deklarowanie funkcji ...................................................u.................................................265
Zasięg funkcji ...................................................u...................................................u..........266
Wykonywanie procedur Function ...................................................u..............................267
Argumenty procedury Function...................................................u........................................268
Przykłady funkcji...................................................u...................................................u...........268
Funkcja pozbawiona argumentów ...................................................u..............................269
Kolejna funkcja pozbawiona argumentów ...................................................u.................270
Funkcja z jednym argumentem...................................................u...................................270
Funkcja z dwoma argumentami...................................................u..................................273
Funkcja pobierająca tablicę jako argument ...................................................u................274
Funkcja używająca opcjonalnych argumentów...................................................u..........274
Funkcja zwracająca tablicę języka VBA ...................................................u....................276
Funkcja zwracająca wartość błędu ...................................................u.............................278
Funkcja o nieokreślonej liczbie argumentów ...................................................u.............280
Emulowanie funkcji SUMA Excela ...................................................u.................................280
Funkcje wykrywające i usuwające błędy...................................................u..........................283
Okno dialogowe Wstawianie funkcji...................................................u................................284
Definiowanie kategorii funkcji...................................................u...................................285
Dodanie opisu funkcji...................................................u.................................................286
Dodatki przechowujące funkcje niestandardowe ...................................................u.............287
Interfejs API systemu Windows ...................................................u.......................................287
Przykłady zastosowania funkcji interfejsu API systemu Windows ..............................288
Identyfikacja katalogu systemu Windows...................................................u..................288
Wykrywanie wciśnięcia klawisza Shift...................................................u......................289
Dodatkowe informacje na temat funkcji interfejsu API................................................290
Spis treści
9
4QFKCđ 2T[MđCF[KOGVQF[RTQITCOQYCPKCYLú[MW8$#
Przetwarzanie zakresów...................................................u...................................................u.291
Kopiowanie zakresu ...................................................u...................................................u292
Przenoszenie zakresu...................................................u..................................................293
Kopiowanie zakresu o zmiennej wielkości ...................................................u................293
Zaznaczanie różnego typu zakresów i identyfikowanie ich ..........................................294
Wprowadzanie wartości do komórki...................................................u..........................296
Wprowadzanie wartości do następnej pustej komórki ..................................................297
Wstrzymywanie wykonywania makra
w celu pobrania zakresu zaznaczonego przez użytkownika.......................................298
Zliczanie zaznaczonych komórek...................................................u...............................299
Określanie typu zaznaczonego zakresu ...................................................u......................300
Wydajne przetwarzanie komórek zaznaczonego zakresu przy użyciu pętli..................302
Usuwanie wszystkich pustych wierszy...................................................u.......................303
Określanie, czy zakres zawiera się w innym zakresie ...................................................u304
Określanie typu danych zawartych w komórce...................................................u..........304
Odczytywanie i zapisywanie zakresów ...................................................u......................305
Lepsza metoda zapisywania zakresu ...................................................u..........................306
Przenoszenie zawartości tablic jednowymiarowych ...................................................u..308
Przenoszenie zawartości zakresu do tablicy typu Variant.............................................308
Zaznaczanie maksymalnej wartości zakresu ...................................................u..............309
Zaznaczanie wszystkich komórek określonego formatu ...............................................310
Przetwarzanie skoroszytów i arkuszy ...................................................u...............................312
Zapisywanie wszystkich skoroszytów...................................................u........................312
Zapisywanie i zamykanie wszystkich skoroszytów ...................................................u...312
Korzystanie z właściwości skoroszytu ...................................................u.......................312
Synchronizowanie arkuszy ...................................................u.........................................313
Metody programowania w języku VBA...................................................u...........................314
Przełączanie wartości właściwości typu logicznego ...................................................u..314
Określanie liczby drukowanych stron ...................................................u........................315
Wyświetlanie daty i czasu ...................................................u..........................................315
Pobieranie listy czcionek ...................................................u............................................317
Sortowanie tablicy ...................................................u...................................................u...318
Przetwarzanie grupy plików ...................................................u.......................................319
Funkcje przydatne w procedurach języka VBA ...................................................u...............320
Funkcja FileExists ...................................................u...................................................u...321
Funkcja FileNameOnly...................................................u...............................................321
Funkcja PathExists ...................................................u...................................................u..321
Funkcja RangeNameExists...................................................u.........................................322
Funkcja SheetExists...................................................u...................................................u.322
Funkcja WorkbookIsOpen...................................................u..........................................322
Pobieranie wartości z zamkniętego skoroszytu ...................................................u..........322
Funkcje przydatne w formułach arkusza ...................................................u..........................324
Funkcje zwracające informacje o formatowaniu komórki ............................................324
Wyświetlanie daty w trakcie zapisywania lub drukowania pliku..................................325
Obiekty nadrzędne...................................................u...................................................u...326
Zliczanie komórek, których wartości zawierają się pomiędzy dwoma wartościami ....327
Zliczanie widocznych komórek zakresu...................................................u.....................328
Określanie ostatniej niepustej komórki kolumny lub wiersza.......................................328
Czy łańcuch jest zgodny z wzorcem?...................................................u.........................330
Wydzielanie n-tego elementu łańcucha...................................................u......................331
Funkcja wielofunkcyjna ...................................................u.............................................332
Funkcja SHEETOFFSET ...................................................u...........................................333
Zwracanie maksymalnej wartości ze wszystkich arkuszy.............................................334
10
Excel 2003 PL. Programowanie w VBA. Vademecum profesjonalisty
Zwracanie tablicy zawierającej unikatowe, losowo uporządkowane liczby całkowite ....335
Porządkowanie zakresu w losowy sposób...................................................u..................336
Funkcje interfejsu API systemu Windows...................................................u........................338
Określanie skojarzeń plików ...................................................u......................................338
Określenie informacji dotyczących domyślnej drukarki ...............................................339
Określenie aktualnej rozdzielczości karty graficznej ...................................................u.340
Dodanie dźwięku do aplikacji ...................................................u....................................340
Odczytywanie zawartości rejestru systemu Windows i zapisywanie w nim danych ....342
úħè+8 CUVQUQYCPKGHQTOWNCT[7UGT(QTO
4QFKCđ #NVGTPCV[YPGOGVQF[VYQTGPKC
PKGUVCPFCTFQY[EJQMKGPFKCNQIQY[EJ
Okno wprowadzania danych...................................................u.............................................347
Funkcja InputBox języka VBA ...................................................u..................................347
Metoda InputBox Excela ...................................................u............................................349
Okno komunikatu — funkcja MsgBox języka VBA...................................................u........351
Metoda GetOpenFilename Excela ...................................................u....................................354
Metoda GetSaveAsFilename Excela ...................................................u................................357
Okno wybierania katalogu ...................................................u................................................357
Wybieranie katalogu przy użyciu funkcji interfejsu API systemu Windows................358
Wybieranie katalogu przy użyciu obiektu FileDialog...................................................u360
Wyświetlanie wbudowanych okien dialogowych Excela...................................................u.360
Zastosowanie zbioru Dialogs...................................................u......................................361
Dodatkowe informacje na temat wbudowanych okien dialogowych............................362
Zastosowanie argumentów z wbudowanymi oknami dialogowymi..............................363
Bezpośrednie wybieranie pozycji menu ...................................................u.....................363
4QFKCđ 9RTQYCFGPKGFQHQTOWNCT[7UGT(QTO
Wstawianie nowego formularza UserForm ...................................................u......................365
Dodawanie kontrolek do formularza UserForm ...................................................u...............366
Kontrolki okna Toolbox...................................................u...................................................u.367
Kontrolka CheckBox ...................................................u..................................................367
Kontrolka ComboBox...................................................u.................................................367
Kontrolka CommandButton ...................................................u.......................................367
Kontrolka Frame...................................................u...................................................u......367
Kontrolka Image ...................................................u...................................................u......369
Kontrolka Label...................................................u...................................................u.......369
Kontrolka ListBox ...................................................u...................................................u...369
Kontrolka MultiPage ...................................................u..................................................369
Kontrolka OptionButton ...................................................u.............................................369
Kontrolka RefEdit...................................................u...................................................u....370
Kontrolka ScrollBar...................................................u...................................................u.370
Kontrolka SpinButton...................................................u.................................................370
Kontrolka TabStrip ...................................................u...................................................u..370
Kontrolka TextBox ...................................................u...................................................u..370
Kontrolka ToggleButton...................................................u.............................................370
Modyfikowanie kontrolek formularza UserForm...................................................u.............370
Modyfikowanie właściwości kontrolki...................................................u.............................371
Zastosowanie okna Properties ...................................................u....................................372
Wspólne właściwości ...................................................u.................................................373
Zdobywanie dodatkowych informacji o właściwościach..............................................373
Uwzględnienie wymagań użytkowników preferujących korzystanie z klawiatury ......373
Spis treści
11
Wyświetlanie i zamykanie formularzy UserForm ...................................................u............375
Wyświetlanie formularza UserForm ...................................................u..........................375
Zamykanie formularza UserForm ...................................................u..............................377
Procedury obsługi zdarzeń...................................................u..........................................378
Przykład tworzenia formularza UserForm...................................................u........................378
Tworzenie formularza UserForm ...................................................u...............................378
Pisanie kodu źródłowego procedury wyświetlającej okno dialogowe ..........................381
Testowanie okna dialogowego ...................................................u...................................381
Dodawanie procedur obsługi zdarzeń...................................................u.........................382
Sprawdzanie poprawności danych...................................................u..............................384
Ukończenie tworzenia okna dialogowego...................................................u..................384
Zdarzenia powiązane z formularzem UserForm...................................................u...............385
Zdobywanie informacji na temat zdarzeń ...................................................u..................385
Zdarzenia formularza UserForm ...................................................u................................386
Zdarzenia związane z kontrolką SpinButton ...................................................u..............386
Współpraca kontrolki SpinButton z kontrolką TextBox ...............................................388
Odwoływanie się do kontrolek formularza UserForm ...................................................u.....390
Dostosowywanie okna Toolbox do własnych wymagań...................................................u..391
Modyfikacja ikon lub tekstu podpowiedzi ...................................................u.................391
Dodawanie nowych zakładek ...................................................u.....................................391
Dostosowywanie lub łączenie kontrolek ...................................................u...................392
Dodawanie nowych kontrolek ActiveX ...................................................u.....................392
Tworzenie szablonów formularzy UserForm ...................................................u...................393
Lista kontrolna związana z tworzeniem formularzy UserForm...........................................394
4QFKCđ 2T[MđCF[HQTOWNCT[7UGT(QTO
Tworzenie formularza UserForm pełniącego funkcję menu ...............................................395
Zastosowanie w formularzu UserForm kontrolek CommandButton ............................395
Zastosowanie w formularzu UserForm kontrolki ListBox............................................396
Zaznaczanie zakresów przy użyciu formularza UserForm..................................................397
Tworzenie okna powitalnego...................................................u............................................398
Wyłączanie przycisku Zamknij formularza UserForm...................................................u.....400
Zmiana wielkości formularza UserForm ...................................................u..........................401
Powiększanie i przewijanie arkusza przy użyciu formularza UserForm .............................402
Zastosowania kontrolki ListBox...................................................u.......................................404
Kontrolka ListBox ...................................................u...................................................u...404
Umieszczanie pozycji w kontrolce ListBox ...................................................u...............405
Identyfikowanie zaznaczonej pozycji...................................................u.........................408
Identyfikowanie wielu zaznaczonych pozycji kontrolki ListBox .................................409
Wiele list w jednej kontrolce ListBox ...................................................u........................410
Przenoszenie pozycji kontrolki ListBox...................................................u.....................410
Przemieszczanie pozycji kontrolki ListBox ...................................................u...............412
Stosowanie wielokolumnowych kontrolek ListBox...................................................u...413
Zastosowanie kontrolki ListBox do wybierania wierszy arkusza .................................415
Uaktywnianie arkusza za pomocą kontrolki ListBox...................................................u.417
Zastosowania kontrolki MultiPage ...................................................u...................................418
4QFKCđ CCYCPUQYCPGVGEJPKMKMQT[UVCPKCHQTOWNCT[7UGT(QTO
Wyświetlanie wskaźnika postępu zadania ...................................................u........................421
Tworzenie samodzielnego wskaźnika postępu zadania.................................................422
Wyświetlanie wskaźnika postępu zadania za pomocą kontrolki MultiPage .................424
Wyświetlanie wskaźnika postępu zadania bez korzystania z kontrolki MultiPage.......426
Kreatory — interaktywne sekwencje okien dialogowych ...................................................u427
Konfigurowanie kontrolki MultiPage w celu utworzenia kreatora ...............................428
Dodawanie przycisków do formularza UserForm kreatora...........................................428
12
Excel 2003 PL. Programowanie w VBA. Vademecum profesjonalisty
Programowanie przycisków kreatora ...................................................u.........................429
Zależności programowe w kreatorach...................................................u........................430
Wykonywanie zadań za pomocą kreatorów ...................................................u...............431
Emulacja funkcji MsgBox ...................................................u................................................432
Emulacja funkcji MsgBox: kod funkcji MyMsgBox ...................................................u.433
Jak działa funkcja emulująca MsgBox ...................................................u.......................434
Wykorzystanie funkcji MyMsgBox ...................................................u...........................435
Niemodalne okna dialogowe ...................................................u............................................435
Obsługa wielu przycisków formularza UserForm
za pomocą jednej procedury obsługi zdarzeń...................................................u................438
Wybór koloru za pomocą formularza UserForm ...................................................u..............441
Wyświetlanie wykresów w formularzach UserForm...................................................u........442
Metoda 1. zapisanie wykresu do pliku ...................................................u.......................443
Metoda 2. zastosowanie kontrolki ChartSpace z pakietu OWC....................................444
Wyświetlanie arkuszy w formularzach UserForm...................................................u............446
Udostępnianie kontrolki Spreadsheet ...................................................u.........................447
Dodawanie kontrolki Spreadsheet w formularzu UserForm .........................................447
Prosty przykład zastosowania kontrolki Spreadsheet
komponentów sieci WWW pakietu Office ...................................................u.............447
UserForm Deluxe: ulepszony formularz danych ...................................................u..............450
Opis ulepszonego formularza danych...................................................u.........................450
Instalacja dodatku — ulepszonego formularza danych.................................................450
Wykorzystanie ulepszonego formularza danych...................................................u........451
úħè8
CCYCPUQYCPGVGEJPKMKRTQITCOQYCPKC
4QFKCđ 6YQTGPKGPCTúFKFNC ZEGNCYLú[MW8$#
Wprowadzenie ...................................................u...................................................u...............455
Zastosowanie języka VBA do tworzenia narzędzi ...................................................u...........456
Co decyduje o przydatności narzędzia?...................................................u............................456
Operacje tekstowe — anatomia narzędzia...................................................u........................457
Podstawy tworzenia narzędzia Operacje tekstowe...................................................u.....458
Określenie wymagań dla narzędzia Operacje tekstowe ................................................458
Jak działa narzędzie Operacje tekstowe?...................................................u....................458
Skoroszyt narzędzia Operacje tekstowe ...................................................u.....................459
Formularz UserForm dla narzędzia Operacje tekstowe ................................................459
Moduł kodu ThisWorkbook ...................................................u.......................................461
Moduł VBA Module1...................................................u.................................................462
Moduł formularza UserForm1...................................................u....................................463
Poprawa wydajności narzędzia Operacje tekstowe ...................................................u....464
Zapisywanie ustawień narzędzia Operacje tekstowe...................................................u..465
Implementacja procedury Cofnij ...................................................u................................466
Ocena realizacji projektu ...................................................u............................................468
Działanie narzędzia Operacje tekstowe...................................................u......................469
Dodatkowe informacje na temat narzędzi Excela...................................................u.............469
4QFKCđ 6CDGNGRTGUVCYPG
Wykorzystanie języka VBA do tworzenia tabel przestawnych...........................................471
Tworzenie tabel przestawnych ...................................................u...................................471
Analiza zarejestrowanego kodu tworzenia tabeli przestawnej ......................................473
Ulepszanie zarejestrowanego kodu tworzenia tabeli przestawnej.................................473
Złożone tabele przestawne...................................................u................................................474
Dane dla złożonej tabeli przestawnej ...................................................u.........................475
Kod tworzący tabelę przestawną ...................................................u................................475
Jak działa złożona tabela przestawna?...................................................u........................477
Spis treści
13
Tworzenie tabel przestawnych na podstawie zewnętrznej bazy danych .............................478
Jednoczesne tworzenie wielu tabel przestawnych ...................................................u............479
Modyfikowanie tabel przestawnych ...................................................u.................................482
4QFKCđ 9[MTGU[
Podstawowe wiadomości o wykresach...................................................u.............................485
Położenie wykresu...................................................u...................................................u...485
Model obiektu Chart...................................................u...................................................u486
Rejestrowanie makr dotyczących wykresów...................................................u....................487
Zarejestrowany kod makra tworzącego wykres ...................................................u.........487
Ulepszanie zarejestrowanego kodu tworzenia wykresu ................................................489
Popularne techniki języka VBA dotyczące wykresów ...................................................u.....489
Wykorzystanie VBA do uaktywnienia wykresu ...................................................u........490
Wykorzystanie VBA do deaktywacji wykresu...................................................u...........491
Sprawdzanie, czy wykres uaktywniono...................................................u......................492
Usuwanie elementów z kolekcji ChartObjects lub Charts ............................................492
Formatowanie wykresów za pomocą VBA ...................................................u................493
Przetwarzanie wszystkich wykresów w pętli ...................................................u.............494
Zmiana rozmiarów i wyrównywanie obiektów ChartObject ........................................494
Inne techniki przetwarzania wykresów...................................................u.............................496
Zastosowanie nazw w formule SERIE ...................................................u.......................496
Zastosowanie języka VBA w celu określenia danych
wykorzystywanych na wykresie...................................................u..............................497
Zastosowanie języka VBA w celu określenia zakresu danyuch
wykorzystywanych na wykresie...................................................u..............................500
Wykorzystanie VBA do wyświetlania dowolnych etykiet danych na wykresie ...........503
Wyświetlanie wykresu w oknie UserForm...................................................u.................505
Zdarzenia związane z wykresami ...............................................
Pobierz darmowy fragment (pdf)
Gdzie kupić całą publikację:
Excel 2003 PL. Programowanie w VBA. Vademecum profesjonalisty
Autor: John Walkenbach
Opinie na temat publikacji:
Inne popularne pozycje z tej kategorii:
Czytaj również:
Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką :