Szczegóły ebooka

Excel 2016 PL. Programowanie w VBA. Vademecum Walkenbacha

Excel 2016 PL. Programowanie w VBA. Vademecum Walkenbacha

Richard Kusleika, Michael Alexander

Ebook

Wielu z nas nie wyobraża sobie pracy bez Excela. Studenci, naukowcy, biznesmeni, analitycy, księgowi, a nawet gospodynie domowe znajdują dla tego potężnego arkusza kalkulacyjnego najróżniejsze zastosowania. Mimo że możliwości Excela są imponujące, można je jeszcze rozszerzać i budować aplikacje szczególnego przeznaczenia za pomocą dostarczonego przez Microsoft narzędzia — języka Visual Basic for Applications (VBA). Wystarczy tylko poznać składnię i zasady programowania w VBA!

Niniejsza książka jest zaktualizowanym wydaniem unikalnego przewodnika po języku VBA. W przystępny sposób wyjaśniono tu wiele złożonych zagadnień, dzięki czemu szybko zaczniesz pisać programy, które automatyzują wykonywanie różnych zadań w Excelu. Będą to zarówno proste makra, jak i wyrafinowane aplikacje i narzędzia, pozwalające na zaawansowaną interakcję z użytkownikiem. Układ treści w książce pozwala zarówno na systematyczną naukę VBA, jak i szybkie wyszukanie porad i wskazówek umożliwiających rozwiązanie konkretnego zadania. Nie zabrakło również wielu praktycznych przykładów gotowego do użycia kodu.

Najważniejsze zagadnienia ujęte w książce:

  • podstawy programowania w VBA, w tym tworzenie funkcji i procedur
  • projektowanie aplikacji arkusza kalkulacyjnego
  • automatyzacja operacji na tabelach przestawnych i wykresach
  • integracja aplikacji Excela z innymi aplikacjami, takimi jak Word czy Outlook
  • praca z zewnętrznymi źródłami danych
  • formularze UserForm

Połącz VBA z Excelem i napisz najlepszą aplikację!

O autorach (19)

O korektorze merytorycznym (19)

Przedmowa (21)

  • Zakres zagadnień (21)
  • Co musisz wiedzieć? (22)
  • Czym musisz dysponować? (22)
  • Konwencje zastosowane w książce (23)
    • Polecenia Excela (23)
    • Polecenia edytora VBA (24)
    • Konwencje związane z klawiaturą (24)
  • Znaczenie ikon (25)
  • Struktura książki (26)
    • Część I: Wprowadzenie do języka Excel VBA (26)
    • Część II: Zaawansowane techniki programowania (26)
    • Część III: Praca z formularzami UserForm (26)
    • Część IV: Tworzenie aplikacji (27)
    • Dodatki (27)
  • Przykłady (27)
  • Narzędzie Power Utility Pak (27)

CZĘŚĆ I. WPROWADZENIE DO JĘZYKA EXCEL VBA (29)

Rozdział 1. Podstawy projektowania aplikacji arkusza kalkulacyjnego (31)

  • Czym jest aplikacja arkusza kalkulacyjnego? (31)
  • Etapy projektowania aplikacji (33)
  • Określanie wymagań użytkownika (33)
  • Planowanie aplikacji spełniającej wymagania użytkownika (35)
  • Wybieranie odpowiedniego interfejsu użytkownika (37)
    • Dostosowywanie Wstążki do potrzeb użytkownika (38)
    • Dostosowywanie menu podręcznego do potrzeb użytkownika (38)
    • Tworzenie klawiszy skrótu (39)
    • Tworzenie niestandardowych okien dialogowych (39)
    • Zastosowanie formantów ActiveX w arkuszu (40)
    • Rozpoczęcie prac projektowych (42)
  • Zadania realizowane z myślą o końcowym użytkowniku (43)
    • Testowanie aplikacji (43)
    • Uodpornianie aplikacji na błędy popełniane przez użytkownika (45)
    • Nadawanie aplikacji przyjaznego, intuicyjnego i estetycznego wyglądu (47)
    • Tworzenie systemu pomocy i dokumentacji przeznaczonej dla użytkownika (48)
    • Dokumentowanie prac projektowych (48)
    • Przekazanie aplikacji użytkownikom (49)
    • Aktualizacja aplikacji (kiedy to konieczne) (49)
  • Inne kwestie dotyczące projektowania (50)
    • Wersja Excela zainstalowana przez użytkownika (50)
    • Wersje językowe (50)
    • Wydajność systemu (51)
    • Tryby karty graficznej (51)

Rozdział 2. Wprowadzenie do języka VBA (53)

  • Rejestrator makr Excela (53)
    • Tworzenie pierwszego makra (54)
    • Porównanie rejestrowania makr z odwołaniami względnymi i bezwzględnymi (58)
    • Inne zagadnienia związane z makrami (63)
  • Praca z edytorem Visual Basic Editor (VBE) (68)
    • Podstawowe elementy edytora VBE (68)
    • Tajemnice okna Project (70)
    • Tajemnice okna Code (72)
    • Dostosowywanie środowiska edytora Visual Basic (76)
    • Karta Editor Format (78)
    • Karta General (79)
    • Karta Docking (80)
  • Podstawowe informacje o języku VBA (80)
    • Obiekty (81)
    • Kolekcje (82)
    • Właściwości (82)
  • Tajemnice obiektów Range (87)
    • Wyszukiwanie właściwości obiektów Range (87)
    • Właściwość Range (87)
    • Właściwość Cells (89)
    • Właściwość Offset (92)
  • Podstawowe zagadnienia, które należy zapamiętać (93)
  • Nie panikuj - nie jesteś sam (95)
    • Przeczytaj resztę książki (95)
    • Pozwól Excelowi napisać makro za Ciebie (96)
    • Korzystaj z systemu pomocy (96)
    • Używaj przeglądarki obiektów (97)
    • Szukaj kodu w internecie (98)
    • Wykorzystuj fora dyskusyjne użytkowników Excela (99)
    • Odwiedzaj blogi ekspertów (99)
    • Poszukaj szkolenia wideo na YouTube (100)
    • Ucz się z Microsoft Office Dev Center (100)
    • Analizuj inne aplikacje Excela, które są używane w Twojej organizacji (101)
    • Zapytaj lokalnego guru (101)

Rozdział 3. Podstawy programowania w języku VBA (103)

  • Przegląd elementów języka VBA (103)
  • Komentarze (106)
  • Zmienne, typy danych i stałe (107)
    • Definiowanie typów danych (108)
    • Deklarowanie zmiennych (110)
    • Zasięg zmiennych (113)
    • Zastosowanie stałych (116)
    • Praca z łańcuchami tekstu (118)
    • Przetwarzanie dat (118)
  • Instrukcje przypisania (120)
  • Tablice (122)
    • Deklarowanie tablic (123)
    • Deklarowanie tablic wielowymiarowych (123)
    • Deklarowanie tablic dynamicznych (124)
  • Zmienne obiektowe (124)
  • Typy danych definiowane przez użytkownika (126)
  • Wbudowane funkcje VBA (127)
  • Praca z obiektami i kolekcjami (130)
    • Polecenie With ... End With (130)
    • Polecenie For Each ... Next (131)
  • Sterowanie sposobem wykonywania procedur (133)
    • Polecenie GoTo (134)
    • Polecenie If ... Then (135)
    • Polecenie Select Case (139)
    • Wykonywanie bloku instrukcji w ramach pętli (143)

Rozdział 4. Tworzenie procedur w języku VBA (153)

  • Kilka słów o procedurach (153)
    • Deklarowanie procedury Sub (154)
    • Zasięg procedury (155)
  • Wykonywanie procedur Sub (157)
    • Uruchamianie procedury przy użyciu polecenia Run Sub/UserForm (158)
    • Uruchamianie procedury z poziomu okna dialogowego Makro (158)
    • Uruchamianie procedury przy użyciu skrótu z klawiszem Ctrl (159)
    • Uruchamianie procedury za pomocą Wstążki (160)
    • Uruchamianie procedur za pośrednictwem niestandardowego menu podręcznego (161)
    • Wywoływanie procedury z poziomu innej procedury (161)
    • Uruchamianie procedury poprzez kliknięcie obiektu (166)
    • Wykonywanie procedury po wystąpieniu określonego zdarzenia (168)
    • Uruchamianie procedury z poziomu okna Immediate (169)
  • Przekazywanie argumentów procedurom (170)
  • Metody obsługi błędów (173)
    • Przechwytywanie błędów (174)
    • Przykłady kodu źródłowego obsługującego błędy (175)
  • Praktyczny przykład wykorzystujący procedury Sub (179)
    • Cel (179)
    • Wymagania projektowe (179)
    • Co już wiesz (180)
    • Podejście do zagadnienia (181)
    • Wstępne rejestrowanie makr (181)
    • Przygotowania (183)
    • Tworzenie kodu źródłowego (184)
    • Tworzenie procedury sortującej (185)
    • Dodatkowe testy (190)
    • Usuwanie problemów (191)
    • Dostępność narzędzia (194)
    • Ocena projektu (195)

Rozdział 5. Tworzenie funkcji w języku VBA (197)

  • Porównanie procedur Sub i Function (198)
  • Dlaczego tworzymy funkcje niestandardowe? (198)
  • Twoja pierwsza funkcja (199)
    • Zastosowanie funkcji w arkuszu (200)
    • Zastosowanie funkcji w procedurze języka VBA (201)
    • Analiza funkcji niestandardowej (201)
  • Procedury Function (204)
    • Zasięg funkcji (205)
    • Wywoływanie procedur Function (206)
  • Argumenty funkcji (209)
  • Przykłady funkcji (210)
    • Funkcja bezargumentowa (210)
    • Funkcje jednoargumentowe (213)
    • Funkcje z dwoma argumentami (216)
    • Funkcja pobierająca tablicę jako argument (217)
    • Funkcje z argumentami opcjonalnymi (218)
    • Funkcje zwracające tablicę VBA (220)
    • Funkcje zwracające wartość błędu (223)
    • Funkcje o nieokreślonej liczbie argumentów (224)
  • Emulacja funkcji arkuszowej SUMA (226)
  • Rozszerzone funkcje daty (229)
  • Wykrywanie i usuwanie błędów w funkcjach (231)
  • Okno dialogowe Wstawianie funkcji (233)
    • Zastosowanie metody MacroOptions (233)
    • Definiowanie kategorii funkcji (235)
    • Dodawanie opisu funkcji (237)
  • Zastosowanie dodatków do przechowywania funkcji niestandardowych (237)
  • Korzystanie z Windows API (238)
    • Przykłady zastosowania funkcji interfejsu API systemu Windows (239)
    • Identyfikacja katalogu domowego systemu Windows (239)
    • Wykrywanie wciśnięcia klawisza Shift (241)
    • Dodatkowe informacje na temat funkcji interfejsu API (242)

Rozdział 6. Obsługa zdarzeń (243)

  • Co powinieneś wiedzieć o zdarzeniach (243)
    • Sekwencje zdarzeń (245)
    • Gdzie należy umieścić procedury obsługi zdarzeń? (245)
    • Wyłączanie obsługi zdarzeń (247)
    • Tworzenie kodu procedury obsługi zdarzeń (248)
    • Procedury obsługi zdarzeń z argumentami (249)
  • Zdarzenia poziomu skoroszytu (251)
    • Zdarzenie Open (253)
    • Zdarzenie Activate (254)
    • Zdarzenie SheetActivate (254)
    • Zdarzenie NewSheet (254)
    • Zdarzenie BeforeSave (255)
    • Zdarzenie Deactivate (255)
    • Zdarzenie BeforePrint (256)
    • Zdarzenie BeforeClose (257)
  • Zdarzenia poziomu arkusza (259)
    • Zdarzenie Change (260)
    • Monitorowanie zmian w wybranym zakresie komórek (261)
    • Zdarzenie SelectionChange (266)
    • Zdarzenie BeforeDoubleClick (267)
    • Zdarzenie BeforeRightClick (268)
  • Zdarzenia dotyczące aplikacji (269)
    • Włączenie obsługi zdarzeń poziomu aplikacji (271)
    • Sprawdzanie, czy skoroszyt jest otwarty (271)
    • Monitorowanie zdarzeń poziomu aplikacji (273)
  • Zdarzenia niezwiązane z obiektami (273)
    • Zdarzenie OnTime (274)
    • Zdarzenie OnKey (275)

Rozdział 7. Przykłady i techniki programowania w języku VBA (281)

  • Nauka poprzez praktykę (281)
  • Przetwarzanie zakresów (282)
    • Kopiowanie zakresów (282)
    • Przenoszenie zakresów (284)
    • Kopiowanie zakresu o zmiennej wielkości (284)
    • Zaznaczanie oraz identyfikacja różnego typu zakresów (286)
    • Zmiana rozmiaru zakresu komórek (288)
    • Wprowadzanie wartości do komórki (289)
    • Wprowadzanie wartości do następnej pustej komórki (291)
    • Wstrzymywanie działania makra w celu umożliwienia pobrania zakresu wyznaczonego przez użytkownika (292)
    • Zliczanie zaznaczonych komórek (294)
    • Określanie typu zaznaczonego zakresu (295)
    • Wydajne przetwarzanie komórek zaznaczonego zakresu przy użyciu pętli (297)
    • Usuwanie wszystkich pustych wierszy (300)
    • Powielanie wierszy (301)
    • Określanie, czy zakres zawiera się w innym zakresie (303)
    • Określanie typu danych zawartych w komórce (303)
    • Odczytywanie i zapisywanie zakresów (305)
    • Lepsza metoda zapisywania danych do zakresu komórek (306)
    • Przenoszenie zawartości tablic jednowymiarowych (309)
    • Przenoszenie zawartości zakresu do tablicy typu Variant (309)
    • Zaznaczanie komórek na podstawie wartości (310)
    • Kopiowanie nieciągłego zakresu komórek (312)
  • Przetwarzanie skoroszytów i arkuszy (314)
    • Zapisywanie wszystkich skoroszytów (314)
    • Zapisywanie i zamykanie wszystkich skoroszytów (315)
    • Ukrywanie wszystkich komórek arkusza poza zaznaczonym zakresem (315)
    • Tworzenie spisu treści zawierającego hiperłącza (317)
    • Synchronizowanie arkuszy (318)
  • Techniki programowania w języku VBA (319)
    • Przełączanie wartości właściwości typu logicznego (319)
    • Wyświetlanie daty i czasu (320)
    • Wyświetlanie czasu w formie przyjaznej dla użytkownika (321)
    • Pobieranie listy czcionek (323)
    • Sortowanie tablicy (324)
    • Przetwarzanie grupy plików (326)
  • Ciekawe funkcje, których możesz użyć w swoich projektach (327)
    • Funkcja FileExists (328)
    • Funkcja FileNameOnly (328)
    • Funkcja PathExists (329)
    • Funkcja RangeNameExists (329)
    • Funkcja SheetExists (330)
    • Funkcja WorkbookIsOpen (330)
    • Pobieranie wartości z zamkniętego skoroszytu (331)
  • Użyteczne, niestandardowe funkcje arkuszowe (333)
    • Funkcje zwracające informacje o formatowaniu komórki (333)
    • Wyświetlanie daty zapisania lub wydrukowania pliku (335)
    • Obiekty nadrzędne (337)
    • Zliczanie komórek, których wartości zawierają się pomiędzy dwoma wartościami (338)
    • Wyznaczanie ostatniej niepustej komórki kolumny lub wiersza (339)
    • Czy dany łańcuch tekstu jest zgodny ze wzorcem? (340)
    • Wyznaczanie n-tego elementu łańcucha (342)
    • Zamiana wartości na postać słowną (343)
    • Funkcja wielofunkcyjna (344)
    • Funkcja SHEETOFFSET (345)
    • Zwracanie maksymalnej wartości ze wszystkich arkuszy (345)
    • Zwracanie tablicy zawierającej unikatowe, losowo uporządkowane liczby całkowite (347)
    • Porządkowanie zakresu w losowy sposób (348)
    • Sortowanie zakresów (350)
  • Wywołania funkcji interfejsu Windows API (351)
    • Deklaracje API (351)
    • Określanie skojarzeń plików (352)
    • Pobieranie informacji dotyczących drukarki domyślnej (354)
    • Pobieranie informacji o aktualnej rozdzielczości karty graficznej (355)
    • Odczytywanie zawartości rejestru systemu Windows i zapisywanie w nim danych (356)

CZĘŚĆ II. ZAAWANSOWANE TECHNIKI PROGRAMOWANIA (359)

Rozdział 8. Tabele przestawne (361)

  • Przykład prostej tabeli przestawnej (361)
    • Tworzenie tabel przestawnych (362)
    • Analiza zarejestrowanego kodu tworzącego tabelę przestawną (365)
    • Optymalizacja wygenerowanego kodu tworzącego tabelę przestawną (365)
  • Tworzenie złożonych tabel przestawnych (368)
    • Kod tworzący tabelę przestawną (370)
    • Jak działa złożona tabela przestawna? (371)
  • Jednoczesne tworzenie wielu tabel przestawnych (373)
  • Tworzenie odwróconych tabel przestawnych (376)

Rozdział 9. Wykresy (379)

  • Podstawowe wiadomości o wykresach (379)
    • Lokalizacja wykresu (380)
    • Rejestrator makr a wykresy (381)
    • Model obiektu Chart (381)
  • Tworzenie wykresów osadzonych na arkuszu danych (383)
  • Tworzenie wykresu na arkuszu wykresu (384)
  • Modyfikowanie wykresów (385)
  • Wykorzystanie VBA do uaktywnienia wykresu (386)
  • Przenoszenie wykresu (387)
  • Wykorzystanie VBA do dezaktywacji wykresu (389)
  • Sprawdzanie, czy wykres został uaktywniony (389)
  • Usuwanie elementów z kolekcji ChartObjects lub Charts (390)
  • Przetwarzanie wszystkich wykresów w pętli (391)
  • Zmiana rozmiarów i wyrównywanie obiektów ChartObject (394)
  • Tworzenie dużej liczby wykresów (395)
  • Eksportowanie wykresów (398)
    • Eksportowanie wszystkich obiektów graficznych (398)
  • Zmiana danych prezentowanych na wykresie (400)
    • Modyfikacja danych wykresu na podstawie aktywnej komórki (401)
    • Zastosowanie języka VBA do identyfikacji zakresu danych prezentowanych na wykresie (403)
  • Wykorzystanie VBA do wyświetlania dowolnych etykiet danych na wykresie (406)
  • Wyświetlanie wykresu w oknie formularza UserForm (410)
  • Zdarzenia związane z wykresami (412)
    • Przykład wykorzystania zdarzeń związanych z wykresami (413)
    • Obsługa zdarzeń dla wykresów osadzonych (416)
    • Przykład zastosowania zdarzeń dla wykresów osadzonych (417)
  • Jak ułatwić sobie pracę z wykresami przy użyciu VBA? (419)
    • Drukowanie wykresów osadzonych na arkuszu (420)
    • Tworzenie wykresów, które nie są połączone z danymi (420)
    • Wykorzystanie zdarzenia MouseOver do wyświetlania tekstu (422)
    • Przewijanie wykresów (425)
  • Tworzenie wykresów przebiegu w czasie (427)

Rozdział 10. Interakcje z innymi aplikacjami (431)

  • Automatyzacja zadań w pakiecie Microsoft Office (431)
    • Koncepcja wiązań (432)
    • Przykład prostej automatyzacji (435)
  • Sterowanie bazą danych Access z poziomu Excela (435)
    • Uruchamianie zapytań bazy danych Access z poziomu Excela (436)
    • Uruchamianie makr Accessa z poziomu Excela (437)
  • Sterowanie edytorem Word z poziomu Excela (438)
    • Przesyłanie danych z Excela do dokumentu Worda (438)
    • Symulacja tworzenia korespondencji seryjnej z użyciem Worda (439)
  • Sterowanie programem PowerPoint z poziomu Excela (442)
    • Przesyłanie danych z Excela do prezentacji PowerPoint (442)
    • Przesyłanie wszystkich wykresów z arkusza Excela do prezentacji PowerPoint (443)
    • Zamiana skoroszytu na prezentację PowerPoint (445)
  • Sterowanie programem Outlook z poziomu Excela (446)
    • Wysyłanie aktywnego skoroszytu jako załącznika (446)
    • Wysyłanie wybranego zakresu komórek jako załącznika wiadomości (447)
    • Wysyłanie pojedynczego arkusza jako załącznika wiadomości (449)
    • Wysyłanie wiadomości do wszystkich adresatów z listy kontaktów (450)
  • Uruchamianie innych aplikacji z poziomu Excela (451)
    • Zastosowanie funkcji Shell języka VBA (451)
    • Zastosowanie funkcji ShellExecute interfejsu Windows API (453)
    • Wykorzystanie instrukcji AppActivate (455)
    • Uruchamianie okien dialogowych Panelu sterowania (456)

Rozdział 11. Praca z danymi zewnętrznymi i plikami (457)

  • Praca z danymi ze źródeł zewnętrznych (457)
    • Ręczne tworzenie połączenia z zewnętrznymi źródłami danych (458)
    • Ręczna modyfikacja połączeń z zewnętrznymi źródłami danych (461)
    • Zastosowanie języka VBA do tworzenia dynamicznych połączeń danych (463)
    • Przechodzenie w pętli przez wszystkie połączenia skoroszytu (465)
  • Zastosowanie ADO i VBA do pobierania danych ze źródeł zewnętrznych (466)
    • Ciąg połączenia (466)
    • Deklarowanie zestawu rekordów (468)
    • Odwołania do biblioteki obiektów ADO (469)
    • Łączenie wszystkiego razem w kodzie procedury (470)
    • Zastosowanie obiektów ADO w aktywnym skoroszycie (472)
  • Operacje z plikami tekstowymi (474)
    • Otwieranie plików tekstowych (475)
    • Odczytywanie plików tekstowych (476)
    • Zapisywanie danych do plików tekstowych (476)
    • Przydzielanie numeru pliku (476)
    • Określanie lub ustawianie pozycji w pliku (477)
    • Instrukcje pozwalające na odczytywanie i zapisywanie plików (478)
  • Przykłady wykonywania operacji na plikach (478)
    • Importowanie danych z pliku tekstowego (478)
    • Eksportowanie zakresu do pliku tekstowego (479)
    • Importowanie pliku tekstowego do zakresu (480)
    • Logowanie wykorzystania Excela (481)
    • Filtrowanie zawartości pliku tekstowego (482)
  • Najczęściej wykonywane operacje na plikach (483)
    • Zastosowanie poleceń języka VBA do wykonywania operacji na plikach (483)
    • Zastosowanie obiektu FileSystemObject (488)
  • Pakowanie i rozpakowywanie plików (491)
    • Pakowanie plików do formatu ZIP (492)
    • Rozpakowywanie plików ZIP (493)

CZĘŚĆ III. PRACA Z FORMULARZAMI USERFORM (495)

Rozdział 12. Tworzenie własnych okien dialogowych (497)

  • Zanim rozpoczniesz tworzenie formularza UserForm (497)
  • Okno wprowadzania danych (498)
    • Funkcja InputBox języka VBA (498)
    • Metoda Application.InputBox (500)
  • Funkcja MsgBox języka VBA (504)
  • Metoda GetOpenFilename programu Excel (509)
  • Metoda GetSaveAsFilename programu Excel (513)
  • Okno wybierania katalogu (514)
  • Wyświetlanie wbudowanych okien dialogowych Excela (514)
  • Wyświetlanie formularza danych (517)
    • Wyświetlanie formularza wprowadzania danych (518)
    • Wyświetlanie formularza wprowadzania danych za pomocą VBA (519)

Rozdział 13. Wprowadzenie do formularzy UserForm (521)

  • Jak Excel obsługuje niestandardowe okna dialogowe (521)
  • Wstawianie nowego formularza UserForm (522)
  • Dodawanie formantów do formularza UserForm (523)
  • Formanty okna Toolbox (524)
    • Formant CheckBox (524)
    • Formant ComboBox (525)
    • Formant CommandButton (525)
    • Formant Frame (525)
    • Formant Image (526)
    • Formant Label (526)
    • Formant ListBox (526)
    • Formant MultiPage (526)
    • Formant OptionButton (526)
    • Formant RefEdit (527)
    • Formant ScrollBar (527)
    • Formant SpinButton (527)
    • Formant TabStrip (527)
    • Formant TextBox (527)
    • Formant ToggleButton (528)
  • Modyfikowanie formantów formularza UserForm (529)
  • Modyfikowanie właściwości formantów (531)
    • Zastosowanie okna Properties (531)
    • Wspólne właściwości (533)
    • Uwzględnienie wymagań użytkowników preferujących korzystanie z klawiatury (535)
  • Wyświetlanie formularza UserForm (537)
    • Zmiana położenia formularza na ekranie (538)
    • Wyświetlanie niemodalnych okien formularzy UserForm (538)
    • Wyświetlanie formularza UserForm na podstawie zmiennej (539)
    • Ładowanie formularza UserForm (539)
    • Procedury obsługi zdarzeń (539)
  • Zamykanie formularza UserForm (540)
  • Przykład tworzenia formularza UserForm (542)
    • Tworzenie formularza UserForm (542)
    • Tworzenie kodu procedury wyświetlającej okno dialogowe (545)
    • Testowanie okna dialogowego (545)
    • Dodawanie procedur obsługi zdarzeń (547)
    • Zakończenie tworzenia okna dialogowego (548)
  • Zdarzenia powiązane z formularzem UserForm (549)
    • Zdobywanie informacji na temat zdarzeń (549)
    • Zdarzenia formularza UserForm (550)
    • Zdarzenia związane z formantem SpinButton (551)
    • Współpraca formantu SpinButton z formantem TextBox (553)
  • Odwoływanie się do formantów formularza UserForm (556)
  • Dostosowywanie okna Toolbox do własnych wymagań (558)
    • Dodawanie nowych kart (558)
    • Dostosowywanie lub łączenie formantów (559)
    • Dodawanie nowych formantów ActiveX (560)
  • Tworzenie szablonów formularzy UserForm (561)
  • Lista kontrolna tworzenia i testowania formularzy UserForm (563)

Rozdział 14. Przykłady formularzy UserForm (565)

  • Tworzenie formularza UserForm pełniącego funkcję menu (566)
    • Zastosowanie przycisków CommandButton w formularzach UserForm (566)
    • Zastosowanie formantów ListBox w formularzach UserForm (567)
  • Zaznaczanie zakresów przy użyciu formularza UserForm (568)
  • Tworzenie okna powitalnego (570)
  • Wyłączanie przycisku Zamknij formularza UserForm (573)
  • Zmiana wielkości formularza UserForm (574)
  • Powiększanie i przewijanie arkusza przy użyciu formularza UserForm (575)
  • Zastosowania formantu ListBox (577)
    • Tworzenie listy elementów formantu ListBox (578)
    • Identyfikowanie zaznaczonego elementu listy formantu ListBox (584)
    • Identyfikowanie wielu zaznaczonych elementów listy formantu ListBox (585)
    • Wiele list w jednym formancie ListBox (586)
    • Przenoszenie elementów listy formantu ListBox (587)
    • Zmiana kolejności elementów listy formantu ListBox (589)
    • Wielokolumnowe formanty ListBox (591)
    • Zastosowanie formantu ListBox do wybierania wierszy arkusza (593)
    • Uaktywnianie arkusza za pomocą formantu ListBox (596)
    • Filtrowanie zawartości listy za pomocą pola tekstowego (598)
  • Zastosowanie formantu MultiPage na formularzach UserForm (601)
  • Korzystanie z formantów zewnętrznych (602)
  • Animowanie etykiet (605)

Rozdział 15. Zaawansowane techniki korzystania z formularzy UserForm (609)

  • Niemodalne okna dialogowe (610)
  • Wyświetlanie wskaźnika postępu zadania (614)
    • Tworzenie samodzielnego wskaźnika postępu zadania (615)
    • Wyświetlanie wskaźnika postępu zintegrowanego z formularzem UserForm (619)
    • Tworzenie innych, niegraficznych wskaźników postępu (623)
  • Tworzenie kreatorów (626)
    • Konfigurowanie formantu MultiPage w celu utworzenia kreatora (628)
    • Dodawanie przycisków do formularza UserForm kreatora (628)
    • Programowanie przycisków kreatora (629)
    • Zależności programowe w kreatorach (631)
    • Wykonywanie zadań za pomocą kreatorów (632)
  • Emulacja funkcji MsgBox (633)
    • Emulacja funkcji MsgBox: kod funkcji MyMsgBox (635)
    • Jak działa funkcja MyMsgBox (636)
    • Wykorzystanie funkcji MyMsgBox do emulacji funkcji MsgBox (638)
  • Formularz UserForm z formantami, których położenie można zmieniać (638)
  • Formularz UserForm bez paska tytułowego (640)
  • Symulacja paska narzędzi za pomocą formularza UserForm (642)
  • Emulowanie panelu zadań za pomocą formularza UserForm (644)
  • Formularze UserForm z możliwością zmiany rozmiaru (646)
  • Obsługa wielu przycisków formularza UserForm za pomocą jednej procedury obsługi zdarzeń (651)
  • Wybór koloru za pomocą formularza UserForm (654)
  • Wyświetlanie wykresów na formularzach UserForm (656)
    • Zapisywanie wykresu w postaci pliku GIF (657)
    • Modyfikacja właściwości Picture formantu Image (657)
  • Tworzenie półprzezroczystych formularzy UserForm (657)
  • Układanka na formularzu UserForm (660)
  • Poker na formularzu UserForm (661)

CZĘŚĆ IV. TWORZENIE APLIKACJI (663)

Rozdział 16. Tworzenie i wykorzystanie dodatków (665)

  • Czym są dodatki? (665)
    • Porównanie dodatku ze standardowym skoroszytem (666)
    • Po co tworzy się dodatki? (667)
  • Menedżer dodatków Excela (669)
  • Tworzenie dodatków (671)
  • Przykład tworzenia dodatku (672)
    • Tworzenie opisu dla dodatku (674)
    • Tworzenie dodatku (674)
    • Instalowanie dodatku (676)
    • Testowanie dodatków (677)
    • Dystrybucja dodatków (677)
    • Modyfikowanie dodatku (677)
  • Porównanie plików XLAM i XLSM (679)
    • Pliki XLAM - przynależność do kolekcji z poziomu VBA (679)
    • Widoczność plików XLSM i XLAM (680)
    • Arkusze i wykresy w plikach XLSM i XLAM (680)
    • Dostęp do procedur VBA w dodatku (681)
  • Przetwarzanie dodatków za pomocą kodu VBA (685)
    • Dodawanie nowych elementów do kolekcji AddIns (685)
    • Usuwanie elementów z kolekcji AddIns (687)
    • Właściwości obiektu AddIn (687)
    • Korzystanie z dodatku jak ze skoroszytu (691)
    • Zdarzenia związane z obiektami AddIn (691)
  • Optymalizacja wydajności dodatków (692)
  • Problemy z dodatkami (693)
    • Upewnij się, że dodatek został zainstalowany (693)
    • Odwoływanie się do innych plików z poziomu dodatku (695)
    • Wykrywanie właściwej wersji Excela dla dodatku (696)

Rozdział 17. Praca ze Wstążką (697)

  • Wprowadzenie do pracy ze Wstążką (697)
  • Dostosowywanie Wstążki do własnych potrzeb (700)
    • Dodawanie nowych przycisków do Wstążki (700)
    • Dodawanie przycisków do paska narzędzi Szybki dostęp (703)
    • Ograniczenia w dostosowywaniu Wstążki (703)
  • Modyfikowanie Wstążki za pomocą kodu RibbonX (705)
    • Dodawanie przycisków do istniejącej karty (705)
    • Dodawanie pola wyboru do istniejącej karty (712)
    • Demo formantów Wstążki (716)
    • Przykład użycia formantu DynamicMenu (724)
    • Więcej wskazówek dotyczących modyfikacji Wstążki (726)
  • VBA i Wstążka (728)
    • Dostęp do poleceń Wstążki (729)
    • Praca ze Wstążką (730)
    • Aktywowanie karty (732)
  • Tworzenie pasków narzędzi w starym stylu (732)
    • Ograniczenia funkcjonalności tradycyjnych pasków narzędzi w Excelu 2007 i nowszych wersjach (733)
    • Kod tworzący pasek narzędzi (733)

Rozdział 18. Praca z menu podręcznym (737)

  • Obiekt CommandBar (737)
    • Rodzaje obiektów CommandBar (738)
    • Wyświetlanie menu podręcznych (738)
    • Odwołania do elementów kolekcji CommandBars (740)
    • Odwołania do formantów obiektu CommandBar (740)
    • Właściwości formantów obiektu CommandBar (742)
    • Wyświetlanie wszystkich elementów menu podręcznego (743)
  • Wykorzystanie VBA do dostosowywania menu podręcznego (746)
    • Menu podręczne w jednodokumentowym interfejsie Excela (746)
    • Resetowanie menu podręcznego (748)
    • Wyłączanie menu podręcznego (749)
    • Wyłączanie wybranych elementów menu podręcznego (750)
    • Dodawanie nowego elementu do menu podręcznego Cell (750)
    • Dodawanie nowego podmenu do menu podręcznego (753)
    • Ograniczanie zasięgu modyfikacji menu podręcznego do jednego skoroszytu (755)
  • Menu podręczne i zdarzenia (756)
    • Automatyczne tworzenie i usuwanie menu podręcznego (756)
    • Wyłączanie lub ukrywanie elementów menu podręcznego (757)
    • Tworzenie kontekstowych menu podręcznych (758)

Rozdział 19. Tworzenie systemów pomocy w aplikacjach (761)

  • Systemy pomocy w aplikacjach Excela (761)
  • Systemy pomocy wykorzystujące komponenty Excela (764)
    • Wykorzystanie komentarzy do tworzenia systemów pomocy (764)
    • Wykorzystanie pól tekstowych do wyświetlania pomocy (766)
    • Wykorzystanie arkusza do wyświetlania tekstu pomocy (767)
    • Wyświetlanie pomocy w oknie formularza UserForm (768)
  • Wyświetlanie pomocy w oknie przeglądarki sieciowej (772)
    • Zastosowanie plików w formacie HTML (772)
    • Zastosowanie plików w formacie MHTML (773)
  • Wykorzystanie systemu HTML Help (775)
    • Wykorzystanie metody Help do wyświetlania pomocy w formacie HTML Help (778)
    • Łączenie pliku pomocy z aplikacją (779)
    • Przypisanie tematów pomocy do funkcji VBA (779)

Rozdział 20. Moduły klas (783)

  • Czym jest moduł klasy? (783)
    • Wbudowane moduły klas (784)
    • Niestandardowe moduły klas (785)
  • Tworzymy klasę NumLock (786)
    • Wstawianie modułu klasy (786)
    • Dodawanie kodu VBA do modułu klasy (787)
    • Zastosowanie klasy NumLock (789)
  • Programowanie właściwości, metod i zdarzeń (790)
    • Programowanie właściwości obiektów (790)
    • Programowanie metod obiektów (792)
    • Zdarzenia modułu klasy (792)
  • Zdarzenia obiektu QueryTable (793)
  • Tworzenie klas przechowujących inne klasy (797)
    • Tworzenie klas CSalesRep oraz CSalesReps (797)
    • Tworzenie klas CInvoice oraz CInvoices (799)
    • Wypełnianie klasy nadrzędnej obiektami (801)
    • Obliczanie prowizji (802)

Rozdział 21. Problem kompatybilności aplikacji (805)

  • Co to jest kompatybilność? (805)
  • Rodzaje problemów ze zgodnością (806)
  • Unikaj używania nowych funkcji i mechanizmów (808)
  • Czy aplikacja będzie działać na komputerach Macintosh? (810)
  • Praca z 64-bitową wersją Excela (811)
  • Tworzenie aplikacji dla wielu wersji narodowych (813)
    • Aplikacje obsługujące wiele języków (813)
    • Obsługa języka w kodzie VBA (816)
    • Wykorzystanie właściwości lokalnych (816)
    • Identyfikacja ustawień systemu (817)
    • Ustawienia daty i godziny (819)

DODATKI (821)

Dodatek A. Instrukcje i funkcje VBA (823)

Skorowidz (833)

  • Tytuł: Excel 2016 PL. Programowanie w VBA. Vademecum Walkenbacha
  • Autor: Michael Alexander, Richard Kusleika
  • Tytuł oryginału: Excel 2016 Power Programming with VBA (Mr. Spreadsheet's Bookshelf)
  • Tłumaczenie: Grzegorz Kowalczyk
  • ISBN: 978-83-283-2859-4, 9788328328594
  • Data wydania: 2016-12-22
  • Format: Ebook
  • Identyfikator pozycji: e26pvw
  • Wydawca: Helion