Szczegóły ebooka

Excel 2013 PL. Programowanie w VBA dla bystrzaków

Excel 2013 PL. Programowanie w VBA dla bystrzaków

John Walkenbach

Ebook

Nie takie programowanie straszne…

Większość użytkowników Excela nie zawraca sobie głowy programowaniem w VBA. Twoje zainteresowanie tym tematem zdecydowanie plasuje Cię w elitarnej grupie. Nawet jeśli nie masz najmniejszego pojęcia, o co chodzi w programowaniu, z tym podręcznikiem w mgnieniu oka zwiększysz możliwości najpopularniejszego na świecie arkusza kalkulacyjnego. Ta niezawodna książka jest napisana prostym językiem i zawiera mnóstwo konkretnych informacji. Dzięki nim zwiększysz swoją konkurencyjność na rynku, poprawisz produktywność i odkryjesz, że praca z Excelem może być ekscytującą przygodą. Spraw, by Excel zatańczył, jak mu zagrasz.

  • VBA w akcji — poznaj język VBA i etapy tworzenia programu w Excelu.
  • Magiczne makra — automatyzuj częste zadania, personalizuj przyciski, polecenia i funkcje arkusza kalkulacyjnego za pomocą makr VBA.
  • Podstawy programowania — wykonuj operacje na komórkach, kontroluj pracę programu, automatyzuj procedury oraz zdarzenia i eliminuj błędy w kodzie.
  • Komunikacja z użytkownikiem — odkryj triki i techniki prostego personalizowania okien dialogowych i formularzy użytkownika (UserForm).
  • Użyj mocy — wykorzystaj swoje umiejętności, by projektować programy przyjazne dla użytkowników, tworzyć dodatki i nawiązywać interakcję z innymi aplikacjami pakietu Office.

O autorze (15)

Podziękowania autora (17)

Wstęp (19)

  • Czy ta książka jest dla Ciebie? (19)
  • A więc chcesz być programistą... (20)
  • Dlaczego warto? (20)
  • Co powinieneś wiedzieć? (21)
  • Obowiązkowy podrozdział o konwencjach typograficznych (22)
  • Sprawdź ustawienia zabezpieczeń (22)
  • Jak podzielona jest książka? (24)
    • Część I: Wstęp do programowania w VBA (24)
    • Część II: Jak VBA współpracuje z Excelem? (24)
    • Część III: Podstawy programowania (24)
    • Część IV: Komunikacja z użytkownikiem (24)
    • Część V: Od teorii do praktyki (24)
    • Część VI: Dekalogi (24)
  • Ikony używane w książce (25)
  • Pobieranie plików z przykładami (25)
  • Co dalej? (26)

CZĘŚĆ I: WSTĘP DO PROGRAMOWANIA W VBA (27)

Rozdział 1: Czym jest VBA? (29)

  • No dobrze, czym jest więc VBA? (29)
  • Co można zrobić za pomocą VBA? (30)
    • Wprowadzanie bloków tekstu (31)
    • Automatyzacja często wykonywanego zadania (31)
    • Automatyzacja powtarzalnych operacji (31)
    • Tworzenie własnego polecenia (31)
    • Tworzenie własnego przycisku (31)
    • Tworzenie własnych funkcji arkusza kalkulacyjnego (31)
    • Tworzenie własnych dodatków do Excela (32)
    • Tworzenie kompletnych aplikacji opartych na makrach (32)
  • Plusy i minusy języka VBA (32)
    • Plusy języka VBA (32)
    • Minusy języka VBA (33)
  • VBA w pigułce (33)
  • Wycieczka po wersjach Excela (35)

Rozdział 2: Szybkie zanurzenie (39)

  • Przygotowanie do pracy (39)
  • Plan działania (40)
  • Stawiamy pierwsze kroki (40)
  • Rejestrowanie makra (41)
  • Testowanie makra (42)
  • Podgląd kodu makra (42)
  • Modyfikacja makra (44)
  • Zapisywanie skoroszytów zawierających makra (45)
  • Bezpieczeństwo makr (45)
  • Więcej o makrze NameAndTime (47)

CZĘŚĆ II: JAK VBA WSPÓŁPRACUJE Z EXCELEM? (49)

Rozdział 3: Praca w edytorze VBE (51)

  • Czym jest Visual Basic Editor? (51)
    • Uruchamianie edytora VBE (51)
    • Zapoznanie z komponentami edytora VBE (52)
  • Praca z oknem Project (54)
    • Dodawanie nowego modułu VBA (55)
    • Usuwanie modułu VBA (55)
    • Eksportowanie i importowanie obiektów (56)
  • Praca z oknem Code (56)
    • Minimalizowanie i maksymalizowanie okien (56)
    • Tworzenie modułu (57)
    • Wprowadzanie kodu VBA do modułu (58)
    • Bezpośrednie wprowadzanie kodu (58)
    • Używanie rejestratora makr (61)
    • Kopiowanie kodu VBA (63)
  • Dostosowywanie środowiska VBA (63)
    • Karta Editor (64)
    • Karta Editor Format (66)
    • Karta General (67)
    • Karta Docking (68)

Rozdział 4: Wprowadzenie do modelu obiektowego w Excelu (69)

  • Czy Excel to obiekt? (70)
  • Wspinaczka po hierarchii obiektów (70)
  • Zapoznanie z kolekcjami (71)
  • Odwoływanie się do obiektów (71)
    • Nawigacja po hierarchii obiektów (72)
    • Upraszczanie odwołań do obiektów (73)
  • Właściwości i metody obiektów (74)
    • Właściwości obiektów (74)
    • Metody obiektów (76)
    • Zdarzenia obiektów (77)
  • Poszukiwanie dodatkowych informacji (78)
    • System pomocy VBA (78)
    • Narzędzie Object Browser (79)
    • Automatyczna lista właściwości i metod (80)

Rozdział 5: Procedury Sub i Function w języku VBA (81)

  • Procedury Sub a funkcje (81)
    • Rzut oka na procedury Sub (82)
    • Rzut oka na procedury Function (82)
    • Nazwy procedur Sub i Function (83)
  • Uruchamianie procedur Sub (83)
    • Bezpośrednie uruchamianie procedur Sub (85)
    • Uruchamianie procedur w oknie dialogowym Makro (85)
    • Uruchamianie makr za pomocą skrótów klawiszowych (86)
    • Uruchamianie procedur przy użyciu przycisków i kształtów (87)
    • Uruchamianie procedur z poziomu innych procedur (89)
  • Uruchamianie procedur Function (89)
    • Wywoływanie funkcji z poziomu procedur Sub (90)
    • Wywoływanie funkcji z poziomu formuł arkusza (90)

Rozdział 6: Używanie rejestratora makr (93)

  • Czy to rzeczywistość, czy to VBA? (93)
  • Podstawy rejestrowania makr (93)
  • Przygotowania do rejestrowania makr (95)
  • Względne czy bezwzględne? (96)
    • Rejestrowanie makr w trybie odwołań bezwzględnych (96)
    • Rejestrowanie makr w trybie odwołań względnych (97)
  • Co jest rejestrowane? (98)
  • Opcje rejestratora makr (100)
    • Nazwa makra (100)
    • Klawisz skrótu (100)
    • Przechowuj makro w (101)
    • Opis (101)
  • Czy to coś jest wydajne? (101)

CZĘŚĆ III: PODSTAWY PROGRAMOWANIA (105)

Rozdział 7: Kluczowe elementy języka VBA (107)

  • Stosowanie komentarzy w kodzie VBA (107)
  • Używanie zmiennych, stałych i typów danych (109)
    • Pojęcie zmiennej (109)
    • Czym są typy danych w języku VBA? (110)
    • Deklarowanie zmiennych i określanie ich zasięgu (111)
    • Stałe (117)
    • Stałe predefiniowane (118)
    • Łańcuchy znaków (118)
    • Daty i godziny (119)
  • Instrukcje przypisania (120)
    • Przykłady instrukcji przypisania (120)
    • O znaku równości (121)
    • Proste operatory (121)
  • Praca z tablicami (123)
    • Deklarowanie tablic (123)
    • Tablice wielowymiarowe (124)
    • Tablice dynamiczne (124)
  • Stosowanie etykiet (125)

Rozdział 8: Praca z obiektami Range (127)

  • Szybka powtórka (127)
  • Inne sposoby odwoływania się do zakresu (129)
    • Właściwość Cells (129)
    • Właściwość Offset (130)
  • Wybrane właściwości obiektu Range (131)
    • Właściwość Value (131)
    • Właściwość Text (132)
    • Właściwość Count (133)
    • Właściwości Column i Row (133)
    • Właściwość Address (133)
    • Właściwość HasFormula (134)
    • Właściwość Font (134)
    • Właściwość Interior (136)
    • Właściwości Formula i FormulaLocal (136)
    • Właściwość NumberFormat (137)
  • Wybrane metody obiektu Range (137)
    • Metoda Select (137)
    • Metody Copy i Paste (138)
    • Metoda Clear (138)
    • Metoda Delete (139)

Rozdział 9: Praca z funkcjami VBA i arkusza kalkulacyjnego (141)

  • Co to jest funkcja? (141)
  • Stosowanie wbudowanych funkcji VBA (142)
    • Przykłady funkcji VBA (142)
    • Funkcje VBA, które robią coś więcej niż tylko zwracanie wartości (144)
    • Odkrywanie funkcji VBA (144)
  • Użycie funkcji arkusza kalkulacyjnego w VBA (145)
    • Przykłady funkcji arkusza kalkulacyjnego (148)
    • Wprowadzanie funkcji arkusza kalkulacyjnego (150)
    • Więcej o użyciu funkcji arkusza kalkulacyjnego (151)
  • Użycie własnych funkcji (151)

Rozdział 10: Sterowanie przepływem i podejmowanie decyzji (153)

  • Zabierz się za przepływ, kolego (153)
  • Instrukcja GoTo (154)
  • Decyzje, decyzje (155)
    • Struktura If-Then (155)
    • Struktura Select Case (159)
  • Entliczek, pętliczek - czyli jak używać pętli? (162)
    • Pętle For-Next (162)
    • Pętla Do-While (167)
    • Pętla Do-Until (168)
  • Użycie pętli For Each-Next z kolekcjami (168)

Rozdział 11: Automatyczne procedury i zdarzenia (171)

  • Przygotowanie do wielkiego zdarzenia (171)
    • Czy zdarzenia są przydatne? (173)
    • Programowanie procedur obsługi zdarzeń (173)
  • Gdzie jest umieszczony kod VBA? (174)
  • Tworzenie procedury obsługi zdarzenia (175)
  • Przykłady wprowadzające (176)
    • Zdarzenie Open dla skoroszytu (176)
    • Zdarzenie BeforeClose dla skoroszytu (179)
    • Zdarzenie BeforeSave dla skoroszytu (179)
  • Przykłady zdarzeń aktywacyjnych (180)
    • Zdarzenia aktywacji i dezaktywacji arkusza (180)
    • Zdarzenia aktywacji i dezaktywacji skoroszytu (181)
    • Zdarzenia aktywacji skoroszytu (182)
  • Inne zdarzenia dotyczące arkusza (183)
    • Zdarzenie BeforeDoubleClick (183)
    • Zdarzenie BeforeRightClick (184)
    • Zdarzenie Change (184)
  • Zdarzenia niezwiązane z obiektami (186)
    • Zdarzenie OnTime (186)
    • Zdarzenia naciśnięcia klawisza (188)

Rozdział 12: Techniki obsługi błędów (191)

  • Rodzaje błędów (191)
  • Błędny przykład (192)
    • To makro nie jest idealne (192)
    • Makro wciąż nie jest idealne (193)
    • Czy teraz makro jest idealne? (194)
    • Rezygnacja z ideału (195)
  • Inny sposób obsługi błędów (195)
    • Korekta procedury EnterSquareRoot (195)
    • O instrukcji On Error (196)
  • Obsługa błędów - szczegółowe informacje (197)
    • Wznawianie wykonywania kodu po wystąpieniu błędu (197)
    • Obsługa błędów w pigułce (199)
    • Kiedy ignorować błędy? (199)
    • Rozpoznawanie określonych błędów (200)
  • Zamierzony błąd (201)

Rozdział 13: Dezynsekcja kodu, czyli jak walczyć z pluskwami (203)

  • Rodzaje pluskiew (203)
  • Podstawy entomologii, czyli jak zidentyfikować pluskwę (205)
  • Metody i techniki walki z pluskwami (205)
    • Przeglądanie kodu VBA (206)
    • Umieszczanie funkcji MsgBox w kluczowych miejscach kodu (206)
    • Umieszczanie polecenia Debug.Print w kluczowych miejscach kodu (208)
    • Korzystanie z wbudowanych narzędzi Excela wspomagających odpluskwianie kodu VBA (209)
  • Kilka słów o debuggerze (209)
    • Ustawianie punktów przerwań w kodzie programu (209)
    • Zastosowanie okna Watch (212)
    • Zastosowanie okna Locals (213)
  • Jak zredukować liczbę błędów w kodzie programu? (215)

Rozdział 14: Przykłady i techniki programowania w języku VBA (217)

  • Przetwarzanie zakresów komórek (217)
    • Kopiowanie zakresów (218)
    • Kopiowanie zakresu o zmiennej wielkości (219)
    • Zaznaczanie komórek do końca wiersza lub kolumny (220)
    • Zaznaczanie całego wiersza lub całej kolumny (221)
    • Przenoszenie zakresów (222)
    • Wydajne przetwarzanie komórek zaznaczonego zakresu przy użyciu pętli (222)
    • Wydajne przetwarzanie komórek zaznaczonego zakresu przy użyciu pętli (część II) (224)
    • Wprowadzanie wartości do komórki (225)
    • Określanie typu zaznaczonego zakresu (226)
    • Identyfikowanie zaznaczeń wielokrotnych (226)
  • Zmiana ustawień Excela (227)
    • Zmiana ustawień logicznych (opcje typu Boolean) (227)
    • Zmiana innych opcji (typu non-Boolean) (228)
  • Praca z wykresami (229)
    • Metoda AddChart kontra metoda AddChart2 (230)
    • Modyfikowanie typu wykresu (231)
    • Przechodzenie w pętli przez elementy kolekcji ChartObjects (232)
    • Modyfikowanie właściwości wykresu (232)
    • Zmiana formatowania wykresów (233)
  • Jak przyspieszyć działanie kodu VBA? (234)
    • Wyłączanie aktualizacji ekranu (234)
    • Wyłączenie automatycznego przeliczania skoroszytu (235)
    • Wyłączanie irytujących ostrzeżeń (236)
    • Upraszczanie odwołań do obiektów (236)
    • Deklarowanie typów zmiennych (237)
    • Zastosowanie struktury With-End With (238)

CZĘŚĆ IV: KOMUNIKACJA Z UŻYTKOWNIKIEM (239)

Rozdział 15: Proste okna dialogowe (241)

  • Co zamiast formularzy UserForm? (241)
  • Funkcja MsgBox (242)
    • Wyświetlanie prostych okien dialogowych (243)
    • Pobieranie odpowiedzi z okna dialogowego (243)
    • Dostosowywanie wyglądu okien dialogowych do własnych potrzeb (244)
  • Funkcja InputBox (247)
    • Składnia funkcji InputBox (248)
    • Przykład zastosowania funkcji InputBox (248)
    • Inny rodzaj okna dialogowego InputBox (249)
  • Metoda GetOpenFilename (250)
    • Składnia metody GetOpenFilename (251)
    • Przykład zastosowania metody GetOpenFilename (251)
  • Metoda GetSaveAsFilename (253)
  • Pobieranie nazwy folderu (254)
  • Wyświetlanie wbudowanych okien dialogowych programu Excel (254)

Rozdział 16: Wprowadzenie do formularzy UserForm (257)

  • Kiedy używać formularzy UserForm? (257)
  • Tworzenie formularzy UserForm - wprowadzenie (258)
  • Praca z formularzami UserForm (259)
    • Wstawianie nowego formularza UserForm (259)
    • Umieszczanie formantów na formularzu UserForm (260)
    • Modyfikacja właściwości formantów formularza UserForm (261)
    • Przeglądanie okna Code formularza UserForm (263)
    • Wyświetlanie formularzy UserForm (263)
    • Pobieranie i wykorzystywanie informacji z formularzy UserForm (264)
  • Przykład tworzenia formularza UserForm (264)
    • Tworzenie formularza UserForm (265)
    • Dodawanie przycisków poleceń (formanty CommandButton) (265)
    • Dodawanie przycisków opcji (formanty OptionButton) (267)
    • Dodawanie procedur obsługi zdarzeń (268)
    • Tworzenie makra, które wyświetla formularz na ekranie (270)
    • Udostępnianie makra użytkownikowi (271)
    • Testowanie działania makra (272)

Rozdział 17: Praca z formantami formularza UserForm (275)

  • Rozpoczynamy pracę z formantami formularzy UserForm (275)
    • Dodawanie formantów (276)
    • Wprowadzenie do właściwości formantów (277)
  • Formanty okien dialogowych - szczegóły (278)
    • Formant CheckBox (pole wyboru) (279)
    • Formant ComboBox (pole kombi) (280)
    • Formant CommandButton (przycisk polecenia) (281)
    • Formant Frame (pole grupy) (281)
    • Formant Image (pole obrazu) (282)
    • Formant Label (pole etykiety) (283)
    • Formant ListBox (pole listy) (283)
    • Formant MultiPage (284)
    • Formant OptionButton (przycisk opcji) (285)
    • Formant RefEdit (pole zakresu) (286)
    • Formant ScrollBar (pasek przewijania) (286)
    • Formant SpinButton (pokrętło) (287)
    • Formant TabStrip (pole karty) (288)
    • Formant TextBox (pole tekstowe) (288)
    • Formant ToggleButton (przycisk przełącznika) (289)
  • Praca z formantami w oknach dialogowych (289)
    • Zmiana rozmiarów i przenoszenie formantów w inne miejsce (289)
    • Rozmieszczanie i wyrównywanie położenia formantów w oknie dialogowym (290)
    • Obsługa użytkowników preferujących korzystanie z klawiatury (291)
    • Testowanie formularzy UserForm (293)
  • Estetyka okien dialogowych (293)

Rozdział 18: Techniki pracy z formularzami UserForm (295)

  • Zastosowanie własnych okien dialogowych (295)
  • Przykładowy formularz UserForm (296)
    • Tworzenie okna dialogowego (296)
    • Tworzenie kodu procedury wyświetlającej okno dialogowe (298)
    • Udostępnianie makra użytkownikowi (299)
    • Testowanie okna dialogowego (299)
    • Dodawanie procedur obsługi zdarzeń (300)
    • Sprawdzanie poprawności danych (302)
    • Teraz okno dialogowe działa tak, jak powinno! (302)
  • Więcej przykładów formularzy UserForm (302)
    • Zastosowanie formantów ListBox (303)
    • Zaznaczanie zakresów (307)
    • Praca z wieloma grupami formantów OptionButton (309)
    • Zastosowanie formantów SpinButton oraz TextBox (310)
    • Wykorzystywanie formularza UserForm jako wskaźnika postępu zadania (312)
    • Tworzenie niemodalnych okien dialogowych z wieloma kartami (315)
    • Wyświetlanie wykresów na formularzach UserForm (317)
  • Lista kontrolna tworzenia i testowania okien dialogowych (318)

Rozdział 19: Udostępnianie makr z poziomu interfejsu użytkownika (321)

  • Dostosowywanie Wstążki (321)
    • Ręczne dopasowywanie Wstążki do własnych potrzeb (322)
    • Dodawanie do Wstążki przycisku własnego makra (324)
    • Dostosowywanie Wstążki za pomocą kodu XML (324)
  • Dostosowywanie menu podręcznego (329)
    • Rodzaje obiektów CommandBar (329)
    • Wyświetlanie wszystkich menu podręcznych (329)
    • Odwołania do elementów kolekcji CommandBars (330)
    • Odwołania do formantów obiektu CommandBar (331)
    • Właściwości formantów obiektu CommandBar (332)
  • Przykłady zastosowania VBA do modyfikacji menu podręcznego (334)
    • Resetowanie wszystkich wbudowanych menu podręcznych (334)
    • Dodawanie nowego elementu do menu podręcznego Cell (335)
    • Wyłączanie menu podręcznego (337)
  • Tworzenie własnych pasków narzędzi (338)

CZĘŚĆ V: OD TEORII DO PRAKTYKI (341)

Rozdział 20: Jak tworzyć własne funkcje arkuszowe i jak przeżyć, aby o tym opowiedzieć? (343)

  • Dlaczego tworzymy własne funkcje? (343)
  • Podstawowe informacje o funkcjach VBA (344)
  • Tworzenie funkcji (345)
  • Praca z argumentami funkcji (345)
  • Przykłady funkcji (346)
    • Funkcje bezargumentowe (346)
    • Funkcje jednoargumentowe (346)
    • Funkcje z dwoma argumentami (348)
    • Funkcje pobierające zakres jako argument (349)
    • Funkcje z argumentami opcjonalnymi (351)
  • Funkcje opakowujące (353)
    • Funkcja NumberFormat (353)
    • Funkcja ExtractElement (354)
    • Funkcja SayIt (354)
    • Funkcja IsLike (355)
  • Funkcje zwracające tablice (355)
    • Zwracanie tablicy zawierającej nazwy miesięcy (355)
    • Zwracanie posortowanej listy (356)
  • Okno dialogowe Wstawianie funkcji (358)
    • Wyświetlanie opisów funkcji (358)
    • Opisy argumentów (360)

Rozdział 21: Tworzenie dodatków (361)

  • No dobrze... czym zatem są dodatki? (361)
  • Po co tworzy się dodatki? (362)
  • Praca z dodatkami (363)
  • Podstawy tworzenia dodatków (364)
  • Tworzymy przykładowy dodatek (365)
    • Konfiguracja skoroszytu (365)
    • Testowanie skoroszytu (367)
    • Tworzenie opisów dodatku (368)
    • Ochrona kodu VBA (369)
    • Tworzenie dodatku (369)
    • Otwieranie dodatku (369)
    • Dystrybucja dodatków (370)
    • Modyfikowanie dodatków (371)

CZĘŚĆ VI: DEKALOGI (373)

Rozdział 22: Dziesięć pytań na temat VBA (wraz z odpowiedziami) (375)

Rozdział 23: (Prawie) dziesięć źródeł informacji na temat Excela (379)

  • System pomocy języka VBA (379)
  • Wsparcie techniczne firmy Microsoft (380)
  • Inne strony internetowe (380)
  • Blogi poświęcone Excelowi (380)
  • Google (381)
  • Bing (381)
  • Lokalne grupy użytkowników (381)
  • Moje inne książki (381)

Rozdział 24: Dziesięć rzeczy, które powinieneś robić w języku VBA i których nie powinieneś robić (383)

  • Zawsze deklaruj wszystkie zmienne (383)
  • Nigdy nie powinieneś mylić hasła chroniącego kod VBA z bezpieczeństwem aplikacji (384)
  • Zawsze staraj się wyczyścić i zoptymalizować kod aplikacji (384)
  • Nigdy nie umieszczaj wszystkiego w jednej procedurze (385)
  • Zawsze powinieneś rozważyć zastosowanie innego oprogramowania (385)
  • Nigdy nie zakładaj, że każdy użytkownik zezwala na uruchamianie makr (386)
  • Zawsze staraj się eksperymentować z nowymi rozwiązaniami (386)
  • Nigdy z góry nie zakładaj, że Twój kod będzie poprawnie działał z innymi wersjami Excela (386)
  • Zawsze pamiętaj o użytkownikach Twojej aplikacji (387)
  • Nigdy nie zapominaj o tworzeniu kopii zapasowych (387)

Skorowidz (389)

  • Tytuł: Excel 2013 PL. Programowanie w VBA dla bystrzaków
  • Autor: John Walkenbach
  • Tytuł oryginału: Excel VBA Programming For Dummies
  • Tłumaczenie: Andrzej Watrak
  • ISBN: 978-83-246-7951-5, 9788324679515
  • Data wydania: 2014-02-10
  • Format: Ebook
  • Identyfikator pozycji: e13pvb
  • Wydawca: Dla bystrzaków