Excel_2007_Jezyk_VBA_i_makra_Rozwiazania_w_biznesie_exjvba.pdf

(566 KB) Pobierz
Excel 2007. Język VBA i makra. Rozwiązania w biznesie
Excel 2007. JŒzyk VBA
w biznesie
Autor: Bill Jelen, Tracy Syrstad
T‡umaczenie: Rados‡aw Meryk
ISBN: 978-83-246-1459-2
Tytu‡ orygina‡u: VBA and Macros for
Format: 170x230, stron: 720
Wydawnictwo Helion
ul. Kociuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl
Poznaj techniki tworzenia makr w Excelu
Do czego mo¿na wykorzysta makra?
W jaki sposb zaimplementowa w VBA obs‡ugŒ zdarzeæ?
Jak korzysta w makrach z zaawansowanych mo¿liwoci Excela?
Dla wiŒkszoci u¿ytkownikw praca z Excelem kojarzy siŒ ze ¿mudnym wpisywaniem
dziesi„tek wartoci, szukaniem w‡aciwej funkcji i zastanawianiem siŒ nad skonstruowaniem
odpowiedniej formu‡y obliczeniowej. Makropolecenia i jŒzyk VBA, za pomoc„ ktrych mo¿na
zdecydowanie przyspieszy i usprawni pracŒ z arkuszem kalkulacyjnym, nadal s„
stosunkowo rzadko wykorzystywane. Dlaczego? U¿ytkownicy prbuj„cy tworzy w‡asne
makra zwykle borykaj„ siŒ z problemami, ktrych wyjanieæ nie znajduj„ w dokumentacji
Excela, przez co wydaj„ siŒ nie do pokonania. Warto jednak powiŒci czas na opanowanie
Rejestratora Mark i edytora VBA, poniewa¿ pozwol„ usprawni i przyspieszy pracŒ z Excelem.
Jeli poszukujesz ksi„¿ki, dziŒki ktrej makra i VBA w Excelu ju¿ nigdy nie bŒd„ dla Ciebie
zagadk„, siŒgnij po Excel 2007. JŒzyk VBA i makra. Rozwi„zania w biznesie . Znajdziesz
w niej wszystkie informacje niezbŒdne do tego, aby tworzy w‡asne makra i programowa
w VBA. Dowiesz siŒ, do czego mo¿na zastosowa makra, jak je budowa i modyfikowa.
Poznasz jŒzyk VBA, nauczysz siŒ konstruowa rozbudowane raporty i formularze,
obs‡ugiwa zdarzenia i tworzy tabele przestawne. Zaczniesz wykorzystywa zaawansowane
mo¿liwoci Excela, takie jak obs‡uga formatu XML, pobieranie danych z zewnŒtrznych rde‡,
komunikacja z internetem i wykorzystanie Windows API. Przeczytasz tak¿e o wyszukiwaniu
i usuwaniu b‡Œdw w aplikacjach VBA.
Podstawowe elementy VBA
Odwo‡ania do zakresw
Korzystanie z funkcji
Formu‡y tablicowe
Obs‡uga zdarzeæ
Tworzenie interfejsw u¿ytkownika
Wybieranie danych z arkuszy
Tabele przestawne
Operacje na plikach
Pobieranie danych ze stron internetowych
Obs‡uga formatu XML
Korzystanie z Windows API
Wykrywanie b‡Œdw
Twrz wĀasne makra i przekonaj siķ, jak szybka moŃe byě praca w Excelu
i makra. Rozwi„zania
431342413.001.png 431342413.002.png 431342413.003.png 431342413.004.png
Spis treści
Wprowadzenie ......................................................................................................................... 25
Korzystanie z języka VBA .......................................................................................................... 25
Zawartość tej książki ................................................................................................................ 25
Przyszłość języka VBA i windowsowych wersji Excela .............................................................. 28
Elementy specjalne i konwencje typograficzne ........................................................................ 29
Pliki z kodem ............................................................................................................................ 30
Następne kroki ......................................................................................................................... 30
1 Uwolnij możliwości Excela, korzystając z VBA ........................................................ 31
Możliwości Excela ..................................................................................................................... 31
Podstawowe przeszkody ..........................................................................................................31
Rejestrator makr nie działa! ..................................................................................................... 31
Visual Basic nie jest podobny do BASIC-a ......................................................................... 32
Dobre wieści — nauczenie się języka VBA nie jest trudne ............................................... 32
Doskonała wiadomość — Excel z językiem VBA jest wart wysiłków włożonych
w jego naukę ................................................................................................................. 33
Znajomość narzędzi — wstążka Deweloper ............................................................................ 33
Bezpieczeństwo makr .............................................................................................................. 34
Dodawanie zaufanej lokalizacji ......................................................................................... 35
Zastosowanie ustawień makr w celu zezwolenia na wykorzystanie makr
poza zaufanymi lokalizacjami ........................................................................................ 36
Wykorzystanie opcji Wyłącz wszystkie makra i wyświetl powiadomienie ........................37
Przegląd wiadomości na temat rejestrowania, zapisywania i uruchamiania makr .................. 38
Wypełnianie okna dialogowego Rejestrowanie makra .................................................... 38
Uruchamianie makr .................................................................................................................. 39
Tworzenie przycisku makra ............................................................................................... 40
Przypisywanie makra do formantu formularza, pola tekstowego lub figury .................... 41
Nowe typy plików w Excelu 2007 ............................................................................................. 42
Edytor Visual Basica ................................................................................................................. 44
Ustawienia edytora VB ..................................................................................................... 45
Eksplorator projektu ......................................................................................................... 45
Okno Properties ................................................................................................................47
Niedoskonałości rejestratora makr ........................................................................................... 47
Przygotowanie do rejestracji makra ................................................................................. 47
Rejestrowanie makra ........................................................................................................ 48
Analiza kodu w oknie programowania ............................................................................. 49
4
Microsoft Excel 2007 PL. Język VBA i makra. Rozwiązania w biznesie
Uruchomienie tego samego makra innego dnia generuje niewłaściwe wyniki ............... 51
Możliwe rozwiązanie: wykorzystywanie odwołań względnych podczas rejestrowania ..... 52
Następne kroki: rozwiązaniem jest nauka języka VBA ............................................................. 56
2 Jeśli to jest BASIC, to dlaczego nie wygląda znajomo? ....................................... 57
Nie rozumiem tego kodu .........................................................................................................57
Części mowy języka VBA .......................................................................................................... 58
Czy język VBA jest naprawdę taki trudny? Nie! ........................................................................ 61
Pliki pomocy VBA — używanie klawisza F1 do wyszukiwania potrzebnych informacji ..... 62
Korzystanie z tematów pomocy ........................................................................................... 63
Analiza kodu zarejestrowanego makra — korzystanie z edytora VB i systemu pomocy ........ 65
Parametry opcjonalne ...................................................................................................... 65
Zdefiniowane stałe ........................................................................................................... 66
Właściwości mogą zwracać obiekty ................................................................................. 71
Wykorzystanie narzędzi debugowania do analizy zarejestrowanego kodu ............................. 72
Wykonywanie kodu krok po kroku ................................................................................... 72
Więcej opcji debugowania — pułapki ............................................................................ 74
Cofanie się lub przesuwanie w przód w kodzie ................................................................ 75
Uruchamianie grupy instrukcji bez trybu krokowego ....................................................... 76
Zapytania podczas krokowego uruchamiania kodu ......................................................... 76
Wykorzystywanie czujek do ustawiania pułapek ............................................................. 81
Wykorzystanie czujki w odniesieniu do obiektu ............................................................... 81
Opis wszystkich obiektów, metod i właściwości ...................................................................... 82
Pięć prostych wskazówek dotyczących usprawniania zarejestrowanego kodu ....................... 84
Wskazówka 1.: Nie należy niczego zaznaczać .................................................................. 85
Wskazówka 2.: Przeszukiwanie zakresu od dołu
w celu odnalezienia ostatniego wiersza ........................................................................ 86
Wskazówka 3.: Używanie zmiennych
w celu uniknięcia „kodowania na sztywno” wierszy i formuł ........................................ 87
Wskazówka 4.: Kopiowanie i wklejanie w pojedynczej instrukcji ..................................... 87
Wskazówka 5.: Wykorzystywanie konstrukcji With...End With w przypadku
wykonywania tych samych działań w odniesieniu do tej samej komórki
lub zakresu komórek ..................................................................................................... 88
Podsumowanie — usprawnienie zarejestrowanego kodu ..................................................... 88
Modyfikowanie zarejestrowanego kodu .......................................................................... 88
Następne kroki ......................................................................................................................... 91
3 Odwoływanie się do zakresów .................................................................................... 93
Obiekt Range ........................................................................................................................... 93
Wykorzystywanie lewego górnego i dolnego prawego narożnika zaznaczonego obszaru
do określania zakresu ........................................................................................................... 94
Spis treści
5
Zakresy identyfikowane przez nazwy ....................................................................................... 94
Skrótowy sposób odwoływania się do zakresów ...................................................................... 95
Odwoływanie się do zakresów w innych arkuszach ................................................................. 95
Odwoływanie się do zakresu względem innego zakresu .......................................................... 96
Wykorzystywanie właściwości Cells do zaznaczania zakresu ................................................... 97
Wykorzystanie właściwości Cells w odniesieniu do właściwości Range ............................98
Wykorzystywanie właściwości Offset do odwoływania się do zakresu .................................... 98
Wykorzystanie właściwości Resize do zmiany rozmiaru zakresu ............................................ 100
Wykorzystanie właściwości Columns i Rows do definiowania zakresu .................................. 101
Wykorzystywanie metody Union do łączenia wielu zakresów ............................................... 102
Wykorzystywanie metody Intersect do tworzenia nowego zakresu
na podstawie zakresów nakładających się na siebie .............................................................. 102
Wykorzystanie funkcji ISEMPTY do sprawdzania, czy komórka jest pusta ............................. 102
Wykorzystanie właściwości CurrentRegion do zaznaczania zakresu danych .......................... 103
Użycie metody SpecialCells do zaznaczania określonych komórek ................................. 104
Wykorzystanie kolekcji Areas do zwracania nieciągłego zakresu ........................................... 106
Odwołania do tabel ................................................................................................................ 106
Następne kroki ....................................................................................................................... 107
4 Funkcje definiowane przez użytkowników .......................................................... 109
Tworzenie funkcji ................................................................................................................... 109
Funkcje użytkownika — przykład i objaśnienie .................................................................... 110
Współdzielenie funkcji użytkownika ...................................................................................... 111
Przydatne funkcje użytkownika w Excelu .............................................................................. 112
Wyświetlanie w komórce nazwy bieżącego skoroszytu .................................................. 112
Wyświetlanie w komórce nazwy bieżącego skoroszytu wraz ze ścieżką dostępu ...........113
Sprawdzenie, czy skoroszyt jest otwarty ........................................................................ 113
Sprawdzenie, czy w otwartym skoroszycie istnieje arkusz ............................................. 113
Zliczanie liczby skoroszytów w katalogu ......................................................................... 114
Odczytywanie zmiennej USERID ..................................................................................... 115
Odczytywanie daty i godziny ostatniego zapisania skoroszytu ....................................... 116
Odczytywanie trwałej wartości daty i godziny ................................................................ 117
Sprawdzanie poprawności adresu e-mail ....................................................................... 118
Sumowanie komórek na podstawie wewnętrznego koloru ........................................... 119
Zliczanie unikatowych wartości ...................................................................................... 120
Usuwanie duplikatów z zakresu ..................................................................................... 121
Znalezienie w zakresie pierwszej komórki o niezerowej długości ................................... 123
Zastępowanie wielu znaków .......................................................................................... 124
Odczytanie liczb z tekstu składającego się z liczb i liter ................................................... 125
6
Microsoft Excel 2007 PL. Język VBA i makra. Rozwiązania w biznesie
Konwersja numerów tygodni na daty ............................................................................ 126
Rozdzielanie tekstu ........................................................................................................ 126
Sortowanie z konkatenacją ............................................................................................ 127
Sortowanie cyfr i liter ..................................................................................................... 129
Wyszukiwanie ciągu w tekście ....................................................................................... 130
Odwrócenie zawartości komórki .................................................................................... 131
Więcej niż jedna wartość maksymalna ........................................................................... 131
Zwracanie adresu hiperłącza .......................................................................................... 132
Zwrócenie litery kolumny na podstawie adresu komórki ............................................... 133
Statyczne liczby losowe .................................................................................................. 133
Korzystanie z konstrukcji Select Case w arkuszu ............................................................. 134
Następne kroki ....................................................................................................................... 135
5 Pętle i sterowanie przepływem ................................................................................ 137
Pętle For…Next .................................................................................................................... 137
Korzystanie ze zmiennych w instrukcji For ..................................................................... 140
Wariacje na temat pętli For…Next ............................................................................... 141
Wcześniejsze zakończenie pętli w przypadku spełnienia warunku ................................ 142
Zagnieżdżanie pętli wewnątrz innej pętli ...................................................................... 142
Pętle Do ................................................................................................................................. 143
Wykorzystanie klauzuli While lub Until wewnątrz pętli Do ............................................ 147
Pętle While…Wend ...................................................................................................... 148
Pętla języka VBA: For Each ..................................................................................................... 149
Zmienne obiektowe ....................................................................................................... 149
Przetwarzanie w pętli wszystkich plików w katalogu .................................................... 151
Sterowanie przepływem: korzystanie z konstrukcji If…Then…Else i Select Case ............... 152
Proste sterowanie przepływem: If…Then…Else ......................................................... 153
Warunki .......................................................................................................................... 153
Konstrukcja If…Then…End If ...................................................................................... 153
Decyzje typu albo — albo: If…Then…Else…End If .................................................. 154
Wykorzystanie konstrukcji If…Else If…End If do sprawdzania wielu warunków ...........154
Wykorzystanie struktury Select Case…End Select do sprawdzania wielu warunków .....155
Złożone wyrażenia w instrukcjach Case .......................................................................... 156
Zagnieżdżanie instrukcji If .............................................................................................. 156
Następne kroki ....................................................................................................................... 158
6 Formuły w stylu W1K1 .................................................................................................. 159
Odwołania do komórek: porównanie stylu A1 z W1K1 .......................................................... 159
Przełączanie Excela w celu wyświetlania odwołań w stylu W1K1 ......................................... 160
Zgłoś jeśli naruszono regulamin