Excel 2013 PL Programowanie w VBA
Vademecum Walkenbacha
Microsoft Excel ma tysiące zastosowań - obszar jego wykorzystania jest ograniczony
wyłącznie pomysłowością użytkowników. Od lat program jest powszechnie używany
przez prezesów, analityków, księgowych oraz studentów, bez niego przetworzenie danych
w tysiącach komórek byłoby niemożliwe. Microsoft Excel dostarcza narzędzia, które
pozwolą Ci ulepszyć, a nawet zautomatyzować często wykonywane operacje i - co więcej
- zbudować własną aplikację opartą na Excelu!
Mowa oczywiście o języku Visual Basic for Applications.
W trakcie lektury tej książki nauczysz się tworzyć aplikacje arkusza
kalkulacyjnego.
Na początek dowiesz się, jak podejść do projektowania takiego programu, a
następnie poznasz składnię i zasady programowania w VBA. Trzecia część tej unikalnej
książki została poświęcona pracy z formularzami (UserForms). Dzięki nim możesz
komunikować się z użytkownikiem, pobierać dane oraz prezentować istotne komunikaty.
Ostatni rozdział książki to zestawienie najczęściej zadawanych pytań i odpowiedzi.
Znajdziesz tam wyjaśnienia wątpliwości, które pojawiły się w trakcie lektury.
Książka ta jest lekturą obowiązkową dla wszystkich programistów tworzących
aplikacje oparte na programie Microsoft Excel 2013.
Dzięki tej książce:
wykorzystasz narzędzia programistyczne z pakietu Microsoft Office
poznasz składnię i możliwości Visual Basic for Applications
nauczysz się tworzyć interfejs użytkownika aplikacji Microsoft Excel
stworzysz aplikację opartą na Excelu
O autorze (19)
Przedmowa (21)
CZĘŚĆ I. PODSTAWOWE INFORMACJE (29)
Rozdział 1. Program Excel w zarysie (31)
- O Excelu (31)
- Myślenie w kategoriach obiektów (31)
- Skoroszyty (32)
- Arkusze (33)
- Arkusze wykresów (34)
- Arkusze makr XLM (34)
- Arkusze dialogowe programów Excel 5 i 95 (35)
- Interfejs użytkownika programu Excel (35)
- Wprowadzenie do Wstążki (37)
- Menu podręczne i minipasek narzędzi (44)
- Okna dialogowe (45)
- Panel zadań (46)
- Skróty klawiszowe (47)
- Wprowadzanie danych (48)
- Formuły, funkcje i nazwy (48)
- Zaznaczanie obiektów (50)
- Formatowanie (51)
- Opcje ochrony (52)
- Ochrona formuł przed nadpisaniem (52)
- Ochrona struktury skoroszytu (53)
- Ochrona skoroszytu przy użyciu hasła (53)
- Ochrona kodu VBA przy użyciu hasła (54)
- Wykresy (55)
- Kształty i obiekty typu SmartArt (56)
- Dostęp do baz danych (56)
- Arkuszowe bazy danych (57)
- Zewnętrzne bazy danych (58)
- Funkcje internetowe (58)
- Narzędzia analizy danych (59)
- Dodatki (60)
- Makra i programowanie (60)
- Zgodność formatu plików (60)
- System pomocy Excela (61)
Rozdział 2. Wybrane zasady stosowania formuł (63)
- Formuły (63)
- Obliczanie formuł (64)
- Odwołania do komórki lub zakresu (65)
- Dlaczego warto używać odwołań, które nie są względne? (66)
- Notacja W1K1 (66)
- Odwołania do innych arkuszy lub skoroszytów (67)
- Zastosowanie nazw (69)
- Nadawanie nazw komórkom i zakresom (69)
- Nadawanie nazw istniejącym odwołaniom (71)
- Stosowanie nazw z operatorem przecięcia (71)
- Nadawanie nazw kolumnom i wierszom (71)
- Zasięg nazw zakresów (72)
- Nadawanie nazw stałym (73)
- Nadawanie nazw formułom (73)
- Nadawanie nazw obiektom (75)
- Błędy występujące w formułach (75)
- Narzędzia inspekcji (76)
- Identyfikowanie komórek określonego typu (77)
- Przeglądanie formuł (78)
- Śledzenie zależności między komórkami arkusza (79)
- Śledzenie błędów (82)
- Naprawianie błędów spowodowanych odwołaniami cyklicznymi (82)
- Zastosowanie mechanizmu sprawdzania błędów w tle (82)
- Zastosowanie mechanizmu szacowania formuł (84)
- Formuły tablicowe (85)
- Przykładowa formuła tablicowa (85)
- Kalendarz oparty na formule tablicowej (86)
- Zalety i wady formuł tablicowych (87)
- Metody zliczania i sumowania (88)
- Przykłady formuł zliczających (88)
- Przykłady formuł sumujących (89)
- Inne narzędzia zliczające (90)
- Formuły wyszukiwania i adresu (91)
- Przetwarzanie daty i czasu (93)
- Wprowadzanie daty i czasu (94)
- Przetwarzanie dat sprzed roku 1900 (94)
- Tworzenie megaformuł (95)
Rozdział 3. Pliki programu Excel (99)
- Uruchamianie Excela (99)
- Formaty plików (100)
- Formaty plików obsługiwane w programie Excel (101)
- Formaty plików tekstowych (102)
- Formaty plików baz danych (103)
- Inne formaty plików (103)
- Kompatybilność plików Excela (105)
- Widok chroniony (106)
- Zastosowanie mechanizmu Autoodzyskiwania (107)
- Odzyskiwanie poprzednich wersji bieżącego skoroszytu (107)
- Odzyskiwanie niezapisanych skoroszytów (108)
- Konfigurowanie mechanizmu Autoodzyskiwania (108)
- Praca z plikami szablonów (108)
- Przeglądanie dostępnych szablonów (109)
- Tworzenie szablonów (109)
- Tworzenie szablonów skoroszytu (111)
- Budowa plików programu Excel (112)
- Zaglądamy do wnętrza pliku (112)
- Dlaczego format pliku jest taki ważny? (115)
- Plik OfficeUI (116)
- Plik XLB (117)
- Pliki dodatków (118)
- Ustawienia Excela w rejestrze systemu Windows (119)
- Rejestr systemu Windows (119)
- Ustawienia Excela (120)
Rozdział 4. Podstawy projektowania aplikacji arkusza kalkulacyjnego (123)
- Czym jest aplikacja arkusza kalkulacyjnego? (123)
- Podstawowe etapy projektowania (124)
- Określanie wymagań użytkownika (125)
- Planowanie aplikacji spełniającej wymagania użytkownika (126)
- Wybieranie odpowiedniego interfejsu użytkownika (128)
- Dostosowywanie Wstążki do potrzeb użytkownika (129)
- Dostosowywanie menu podręcznego do potrzeb użytkownika (129)
- Tworzenie klawiszy skrótu (129)
- Tworzenie niestandardowych okien dialogowych (130)
- Zastosowanie formantów ActiveX w arkuszu (131)
- Rozpoczęcie prac projektowych (133)
- Zadania realizowane z myślą o końcowym użytkowniku (134)
- Testowanie aplikacji (134)
- Uodpornianie aplikacji na błędy popełniane przez użytkownika (136)
- Nadawanie aplikacji przyjaznego, intuicyjnego i estetycznego wyglądu (137)
- Tworzenie systemu pomocy i dokumentacji przeznaczonej dla użytkownika (139)
- Dokumentowanie prac projektowych (140)
- Przekazanie aplikacji użytkownikom (140)
- Aktualizacja aplikacji (kiedy to konieczne) (140)
- Pozostałe kwestie dotyczące projektowania (141)
- Wersja Excela zainstalowana przez użytkownika (141)
- Wersje językowe (141)
- Wydajność systemu (142)
- Tryby karty graficznej (142)
CZĘŚĆ II. JĘZYK VISUAL BASIC FOR APPLICATIONS (145)
Rozdział 5. Wprowadzenie do języka VBA (147)
- Podstawowe informacje o języku BASIC (147)
- Język VBA (148)
- Modele obiektowe (148)
- Porównanie języka VBA z językiem XLM (148)
- Wprowadzenie do języka VBA (149)
- Edytor VBE (152)
- Wyświetlanie karty DEWELOPER (152)
- Uruchamianie edytora VBE (153)
- Okna edytora VBE (153)
- Tajemnice okna Project Explorer (155)
- Dodawanie nowego modułu VBA (156)
- Usuwanie modułu VBA (156)
- Eksportowanie i importowanie obiektów (157)
- Tajemnice okna Code (157)
- Minimalizacja i maksymalizacja okien (158)
- Przechowywanie kodu źródłowego języka VBA (158)
- Wprowadzanie kodu źródłowego języka VBA (159)
- Dostosowywanie środowiska edytora Visual Basic (166)
- Karta Editor (166)
- Karta Editor Format (169)
- Karta General (170)
- Zastosowanie karty Docking (171)
- Rejestrator makr Excela (172)
- Co właściwie zapisuje rejestrator makr? (173)
- Odwołania względne czy bezwzględne? (173)
- Opcje związane z rejestrowaniem makr (177)
- Modyfikowanie zarejestrowanych makr (178)
- Obiekty i kolekcje (180)
- Hierarchia obiektów (180)
- Kolekcje (181)
- Odwoływanie się do obiektów (181)
- Właściwości i metody (182)
- Właściwości obiektów (182)
- Metody obiektowe (183)
- Tajemnice obiektu Comment (185)
- Pomoc dla obiektu Comment (185)
- Właściwości obiektu Comment (185)
- Metody obiektu Comment (185)
- Kolekcja Comments (187)
- Właściwość Comment (188)
- Obiekty zawarte w obiekcie Comment (189)
- Sprawdzanie, czy komórka posiada komentarz (190)
- Dodawanie nowego obiektu Comment (190)
- Kilka przydatnych właściwości obiektu Application (191)
- Tajemnice obiektów Range (193)
- Właściwość Range (193)
- Właściwość Cells (194)
- Właściwość Offset (198)
- Co należy wiedzieć o obiektach? (199)
- Podstawowe zagadnienia, które należy zapamiętać (199)
- Dodatkowe informacje na temat obiektów i właściwości (200)
Rozdział 6. Podstawy programowania w języku VBA (203)
- Przegląd elementów języka VBA (203)
- Komentarze (205)
- Zmienne, typy danych i stałe (206)
- Definiowanie typów danych (208)
- Deklarowanie zmiennych (209)
- Zasięg zmiennych (213)
- Zastosowanie stałych (216)
- Praca z łańcuchami tekstu (218)
- Przetwarzanie dat (218)
- Instrukcje przypisania (220)
- Tablice (222)
- Deklarowanie tablic (222)
- Deklarowanie tablic wielowymiarowych (223)
- Deklarowanie tablic dynamicznych (223)
- Zmienne obiektowe (224)
- Typy danych definiowane przez użytkownika (225)
- Wbudowane funkcje VBA (226)
- Praca z obiektami i kolekcjami (227)
- Konstrukcja With ... End With (229)
- Konstrukcja For Each ... Next (229)
- Sterowanie sposobem wykonywania procedur (231)
- Polecenie GoTo (232)
- Konstrukcja If ... Then (232)
- Konstrukcja Select Case (236)
- Wykonywanie bloku instrukcji w ramach pętli (240)
Rozdział 7. Tworzenie procedur w języku VBA (249)
- Kilka słów o procedurach (249)
- Deklarowanie procedury Sub (250)
- Zasięg procedury (251)
- Wykonywanie procedur Sub (252)
- Uruchamianie procedury przy użyciu polecenia Run Sub/UserForm (253)
- Uruchamianie procedury z poziomu okna dialogowego Makro (253)
- Uruchamianie procedury przy użyciu skrótu z klawiszem Ctrl (254)
- Uruchamianie procedury za pomocą Wstążki (255)
- Uruchamianie procedur za pośrednictwem niestandardowego menu podręcznego (255)
- Wywoływanie procedury z poziomu innej procedury (256)
- Uruchamianie procedury poprzez kliknięcie obiektu (259)
- Wykonywanie procedury po wystąpieniu określonego zdarzenia (261)
- Uruchamianie procedury z poziomu okna Immediate (262)
- Przekazywanie argumentów procedurom (262)
- Metody obsługi błędów (266)
- Przechwytywanie błędów (266)
- Przykłady kodu źródłowego obsługującego błędy (268)
- Praktyczny przykład wykorzystujący procedury Sub (271)
- Cel (271)
- Wymagania projektowe (271)
- Co już wiesz (272)
- Podejście do zagadnienia (273)
- Co musimy wiedzieć? (273)
- Wstępne rejestrowanie makr (273)
- Wstępne przygotowania (275)
- Tworzenie kodu źródłowego (275)
- Tworzenie procedury sortującej (277)
- Dodatkowe testy (281)
- Usuwanie problemów (282)
- Dostępność narzędzia (285)
- Ocena projektu (285)
Rozdział 8. Tworzenie funkcji w języku VBA (287)
- Porównanie procedur Sub i Function (287)
- Dlaczego tworzymy funkcje niestandardowe? (288)
- Twoja pierwsza funkcja (289)
- Zastosowanie funkcji w arkuszu (289)
- Zastosowanie funkcji w procedurze języka VBA (290)
- Analiza funkcji niestandardowej (291)
- Procedury Function (293)
- Zasięg funkcji (294)
- Wywoływanie procedur Function (294)
- Argumenty funkcji (298)
- Przykłady funkcji (299)
- Funkcja bezargumentowa (299)
- Funkcje jednoargumentowe (302)
- Funkcje z dwoma argumentami (305)
- Funkcja pobierająca tablicę jako argument (305)
- Funkcje z argumentami opcjonalnymi (306)
- Funkcje zwracające tablicę VBA (308)
- Funkcje zwracające wartość błędu (311)
- Funkcje o nieokreślonej liczbie argumentów (312)
- Emulacja funkcji arkuszowej SUMA (313)
- Rozszerzone funkcje daty (317)
- Wykrywanie i usuwanie błędów w funkcjach (319)
- Okno dialogowe Wstawianie funkcji (320)
- Zastosowanie metody MacroOptions (321)
- Definiowanie kategorii funkcji (323)
- Dodawanie opisu funkcji (324)
- Zastosowanie dodatków do przechowywania funkcji niestandardowych (325)
- Korzystanie z Windows API (326)
- Przykłady zastosowania funkcji interfejsu API systemu Windows (327)
- Identyfikacja katalogu domowego systemu Windows (327)
- Wykrywanie wciśnięcia klawisza Shift (328)
- Dodatkowe informacje na temat funkcji interfejsu API (329)
Rozdział 9. Przykłady i techniki programowania w języku VBA (331)
- Nauka poprzez praktykę (331)
- Przetwarzanie zakresów (332)
- Kopiowanie zakresów (332)
- Przenoszenie zakresów (334)
- Kopiowanie zakresu o zmiennej wielkości (334)
- Zaznaczanie oraz identyfikacja różnego typu zakresów (335)
- Zmiana rozmiaru zakresu komórek (337)
- Wprowadzanie wartości do komórki (338)
- Wprowadzanie wartości do następnej pustej komórki (339)
- Wstrzymywanie działania makra w celu umożliwienia pobrania zakresu wyznaczonego przez
użytkownika (341)
- Zliczanie zaznaczonych komórek (342)
- Określanie typu zaznaczonego zakresu (344)
- Wydajne przetwarzanie komórek zaznaczonego zakresu przy użyciu pętli (346)
- Usuwanie wszystkich pustych wierszy (348)
- Powielanie wierszy (349)
- Określanie, czy zakres zawiera się w innym zakresie (351)
- Określanie typu danych zawartych w komórce (351)
- Odczytywanie i zapisywanie zakresów (352)
- Lepsza metoda zapisywania danych do zakresu komórek (354)
- Przenoszenie zawartości tablic jednowymiarowych (355)
- Przenoszenie zawartości zakresu do tablicy typu Variant (356)
- Zaznaczanie komórek na podstawie wartości (357)
- Kopiowanie nieciągłego zakresu komórek (358)
- Przetwarzanie skoroszytów i arkuszy (360)
- Zapisywanie wszystkich skoroszytów (360)
- Zapisywanie i zamykanie wszystkich skoroszytów (360)
- Ukrywanie wszystkich komórek arkusza poza zaznaczonym zakresem (361)
- Tworzenie spisu treści zawierającego hiperłącza (362)
- Synchronizowanie arkuszy (363)
- Techniki programowania w języku VBA (364)
- Przełączanie wartości właściwości typu logicznego (364)
- Wyświetlanie daty i czasu (365)
- Wyświetlanie czasu w formie przyjaznej dla użytkownika (367)
- Pobieranie listy czcionek (368)
- Sortowanie tablicy (368)
- Przetwarzanie grupy plików (370)
- Ciekawe funkcje, których możesz użyć w swoich projektach (372)
- Funkcja FileExists (372)
- Funkcja FileNameOnly (372)
- Funkcja PathExists (373)
- Funkcja RangeNameExists (373)
- Funkcja SheetExists (374)
- Funkcja WorkbookIsOpen (375)
- Pobieranie wartości z zamkniętego skoroszytu (375)
- Użyteczne, niestandardowe funkcje arkuszowe (376)
- Funkcje zwracające informacje o formatowaniu komórki (377)
- Gadający arkusz? (378)
- Wyświetlanie daty zapisania lub wydrukowania pliku (379)
- Obiekty nadrzędne (380)
- Zliczanie komórek, których wartości zawierają się pomiędzy dwoma wartościami
(381)
- Wyznaczanie ostatniej niepustej komórki kolumny lub wiersza (381)
- Czy dany łańcuch tekstu jest zgodny ze wzorcem? (383)
- Wyznaczanie n-tego elementu łańcucha (384)
- Zamiana wartości na słowa (385)
- Funkcja wielofunkcyjna (386)
- Funkcja SHEETOFFSET (386)
- Zwracanie maksymalnej wartości ze wszystkich arkuszy (387)
- Zwracanie tablicy zawierającej unikatowe, losowo uporządkowane liczby całkowite (388)
- Porządkowanie zakresu w losowy sposób (389)
- Sortowanie zakresów (391)
- Wywołania funkcji interfejsu Windows API (392)
- Określanie skojarzeń plików (393)
- Pobieranie informacji o napędach dyskowych (394)
- Pobieranie informacji dotyczących drukarki domyślnej (394)
- Pobieranie informacji o aktualnej rozdzielczości karty graficznej (395)
- Odczytywanie zawartości rejestru systemu Windows i zapisywanie w nim danych (397)
CZĘŚĆ III. PRACA Z FORMULARZAMI USERFORM (401)
Rozdział 10. Tworzenie własnych okien dialogowych (403)
- Zanim rozpoczniesz tworzenie formularza UserForm (403)
- Okno wprowadzania danych (403)
- Funkcja InputBox języka VBA (404)
- Metoda InputBox Excela (406)
- Funkcja MsgBox języka VBA (409)
- Metoda GetOpenFilename programu Excel (413)
- Metoda GetSaveAsFilename programu Excel (416)
- Okno wybierania katalogu (417)
- Wyświetlanie wbudowanych okien dialogowych Excela (417)
- Wyświetlanie formularza danych (420)
- Wyświetlanie formularza wprowadzania danych (420)
- Wyświetlanie formularza wprowadzania danych za pomocą VBA (422)
Rozdział 11. Wprowadzenie do formularzy UserForm (423)
- Jak Excel obsługuje niestandardowe okna dialogowe (423)
- Wstawianie nowego formularza UserForm (424)
- Dodawanie formantów do formularza UserForm (424)
- Formanty okna Toolbox (425)
- Formant CheckBox (426)
- Formant ComboBox (426)
- Formant CommandButton (427)
- Formant Frame (427)
- Formant Image (427)
- Formant Label (427)
- Formant ListBox (427)
- Formant MultiPage (427)
- Formant OptionButton (428)
- Formant RefEdit (428)
- Formant ScrollBar (428)
- Formant SpinButton (428)
- Formant TabStrip (428)
- Formant TextBox (428)
- Formant ToggleButton (429)
- Modyfikowanie formantów formularza UserForm (430)
- Modyfikowanie właściwości formantów (431)
- Zastosowanie okna Properties (432)
- Wspólne właściwości (433)
- Uwzględnienie wymagań użytkowników preferujących korzystanie z klawiatury (434)
- Wyświetlanie formularza UserForm (436)
- Zmiana położenia formularza na ekranie (436)
- Wyświetlanie niemodalnych okien formularzy UserForm (436)
- Wyświetlanie formularza UserForm na podstawie zmiennej (437)
- Ładowanie formularza UserForm (437)
- Procedury obsługi zdarzeń (437)
- Zamykanie formularza UserForm (438)
- Przykład tworzenia formularza UserForm (439)
- Tworzenie formularza UserForm (439)
- Tworzenie kodu procedury wyświetlającej okno dialogowe (442)
- Testowanie okna dialogowego (443)
- Dodawanie procedur obsługi zdarzeń (444)
- Sprawdzanie poprawności danych (445)
- Zakończenie tworzenia okna dialogowego (445)
- Zdarzenia powiązane z formularzem UserForm (445)
- Zdobywanie informacji na temat zdarzeń (446)
- Zdarzenia formularza UserForm (447)
- Zdarzenia związane z formantem SpinButton (447)
- Współpraca formantu SpinButton z formantem TextBox (449)
- Odwoływanie się do formantów formularza UserForm (451)
- Dostosowywanie okna Toolbox do własnych wymagań (453)
- Dodawanie nowych kart (453)
- Dostosowywanie lub łączenie formantów (453)
- Dodawanie nowych formantów ActiveX (455)
- Tworzenie szablonów formularzy UserForm (455)
- Lista kontrolna tworzenia i testowania formularzy UserForm (456)
Rozdział 12. Przykłady formularzy UserForm (459)
- Tworzenie formularza UserForm pełniącego funkcję menu (459)
- Zastosowanie w formularzu UserForm formantów CommandButton (460)
- Zastosowanie w formularzu UserForm formantu ListBox (460)
- Zaznaczanie zakresów przy użyciu formularza UserForm (461)
- Tworzenie okna powitalnego (463)
- Wyłączanie przycisku Zamknij formularza UserForm (465)
- Zmiana wielkości formularza UserForm (466)
- Powiększanie i przewijanie arkusza przy użyciu formularza UserForm (468)
- Zastosowania formantu ListBox (469)
- Tworzenie listy elementów formantu ListBox (470)
- Identyfikowanie zaznaczonego elementu listy formantu ListBox (475)
- Identyfikowanie wielu zaznaczonych elementów listy formantu ListBox (475)
- Wiele list w jednym formancie ListBox (476)
- Przenoszenie elementów listy formantu ListBox (477)
- Zmiana kolejności elementów listy formantu ListBox (479)
- Wielokolumnowe formanty ListBox (480)
- Zastosowanie formantu ListBox do wybierania wierszy arkusza (482)
- Uaktywnianie arkusza za pomocą formantu ListBox (484)
- Zastosowanie formantu MultiPage na formularzach UserForm (487)
- Korzystanie z formantów zewnętrznych (488)
- Animowanie etykiet (490)
Rozdział 13. Zaawansowane techniki korzystania z formularzy UserForm (495)
- Niemodalne okna dialogowe (495)
- Wyświetlanie wskaźnika postępu zadania (499)
- Tworzenie samodzielnego wskaźnika postępu zadania (500)
- Wyświetlanie wskaźnika postępu zadania za pomocą formantu MultiPage (504)
- Wyświetlanie wskaźnika postępu zadania bez korzystania z kontrolki MultiPage (507)
- Tworzenie kreatorów (508)
- Konfigurowanie formantu MultiPage w celu utworzenia kreatora (509)
- Dodawanie przycisków do formularza UserForm kreatora (510)
- Programowanie przycisków kreatora (510)
- Zależności programowe w kreatorach (512)
- Wykonywanie zadań za pomocą kreatorów (513)
- Emulacja funkcji MsgBox (514)
- Emulacja funkcji MsgBox: kod funkcji MyMsgBox (515)
- Jak działa funkcja MyMsgBox (516)
- Wykorzystanie funkcji MyMsgBox do emulacji funkcji MsgBox (517)
- Formularz UserForm z formantami, których położenie można zmieniać (518)
- Formularz UserForm bez paska tytułowego (519)
- Symulacja paska narzędzi za pomocą formularza UserForm (520)
- Emulowanie panelu zadań za pomocą formularza UserForm (523)
- Formularze UserForm z możliwością zmiany rozmiaru (524)
- Obsługa wielu przycisków formularza UserForm za pomocą jednej procedury obsługi
zdarzeń (528)
- Wybór koloru za pomocą formularza UserForm (531)
- Wyświetlanie wykresów na formularzach UserForm (532)
- Zapisywanie wykresu w postaci pliku GIF (533)
- Modyfikacja właściwości Picture formantu Image (534)
- Tworzenie półprzezroczystych formularzy UserForm (534)
- Zaawansowane formularze danych (536)
- Opis ulepszonego formularza danych (537)
- Instalacja dodatku - ulepszonego formularza danych (537)
- Puzzle na formularzu UserForm (538)
- Wideo Poker na formularzu UserForm (540)
CZĘŚĆ IV. ZAAWANSOWANE TECHNIKI PROGRAMOWANIA (541)
Rozdział 14. Tworzenie narzędzi dla Excela w języku VBA (543)
- Kilka słów o narzędziach dla programu Excel (543)
- Zastosowanie języka VBA do tworzenia narzędzi (544)
- Co decyduje o przydatności narzędzia? (545)
- Operacje tekstowe: anatomia narzędzia (545)
- Kilka słów o programie Operacje tekstowe (546)
- Określenie wymagań dla narzędzia Operacje tekstowe (547)
- Skoroszyt narzędzia Operacje tekstowe (547)
- Jak działa narzędzie Operacje tekstowe? (548)
- Formularz UserForm dla narzędzia Operacje tekstowe (549)
- Moduł VBA Module1 (550)
- Moduł formularza UserForm1 (552)
- Poprawa wydajności narzędzia Operacje tekstowe (554)
- Zapisywanie ustawień narzędzia Operacje tekstowe (555)
- Implementacja procedury Cofnij (557)
- Wyświetlanie pliku pomocy (559)
- Umieszczanie poleceń na Wstążce (560)
- Ocena realizacji projektu (560)
- Działanie narzędzia Operacje tekstowe (562)
- Dodatkowe informacje na temat narzędzi Excela (562)
Rozdział 15. Tabele przestawne (563)
- Przykład prostej tabeli przestawnej (563)
- Tworzenie tabel przestawnych (564)
- Analiza zarejestrowanego kodu tworzenia tabeli przestawnej (565)
- Optymalizacja wygenerowanego kodu tworzącego tabelę przestawną (566)
- Tworzenie złożonych tabel przestawnych (569)
- Kod tworzący tabelę przestawną (570)
- Jak działa złożona tabela przestawna? (571)
- Jednoczesne tworzenie wielu tabel przestawnych (573)
- Tworzenie odwróconych tabel przestawnych (576)
Rozdział 16. Wykresy (579)
- Podstawowe wiadomości o wykresach (579)
- Lokalizacja wykresu (579)
- Rejestrator makr a wykresy (580)
- Model obiektu Chart (581)
- Tworzenie wykresów osadzonych na arkuszu danych (582)
- Tworzenie wykresu na arkuszu wykresu (584)
- Modyfikowanie wykresów (584)
- Wykorzystanie VBA do uaktywnienia wykresu (586)
- Przenoszenie wykresu (587)
- Wykorzystanie VBA do dezaktywacji wykresu (587)
- Sprawdzanie, czy wykres został uaktywniony (588)
- Usuwanie elementów z kolekcji ChartObjects lub Charts (589)
- Przetwarzanie wszystkich wykresów w pętli (590)
- Zmiana rozmiarów i wyrównywanie obiektów ChartObject (593)
- Tworzenie dużej liczby wykresów (594)
- Eksportowanie wykresów (596)
- Eksportowanie wszystkich obiektów graficznych (597)
- Zmiana danych prezentowanych na wykresie (599)
- Modyfikacja danych wykresu na podstawie aktywnej komórki (599)
- Zastosowanie języka VBA do identyfikacji zakresu danych prezentowanych na wykresie
(600)
- Wykorzystanie VBA do wyświetlania dowolnych etykiet danych na wykresie (605)
- Wyświetlanie wykresu w oknie formularza UserForm (608)
- Zdarzenia związane z wykresami (611)
- Przykład wykorzystania zdarzeń związanych z wykresami (611)
- Obsługa zdarzeń dla wykresów osadzonych (614)
- Przykład zastosowania zdarzeń dla wykresów osadzonych (616)
- Jak ułatwić sobie pracę z wykresami przy użyciu VBA? (618)
- Drukowanie wykresów osadzonych na arkuszu (618)
- Ukrywanie serii danych poprzez ukrywanie kolumn (618)
- Tworzenie wykresów, które nie są połączone z danymi (620)
- Wykorzystanie zdarzenia MouseOver do wyświetlania tekstu (621)
- Wykresy animowane (624)
- Przewijanie wykresów (625)
- Tworzenie wykresu krzywych hipocykloidalnych (627)
- Tworzenie wykresu-zegara (628)
- Tworzenie wykresu interaktywnego bez użycia VBA (629)
- Przygotowanie danych do utworzenia wykresu interaktywnego (630)
- Tworzenie przycisków opcji dla interaktywnego wykresu (631)
- Tworzenie listy miast dla wykresu interaktywnego (631)
- Tworzenie zakresów danych dla wykresu interaktywnego (632)
- Utworzenie wykresu interaktywnego (633)
- Tworzenie wykresów przebiegu w czasie (633)
Rozdział 17. Obsługa zdarzeń (637)
- Co powinieneś wiedzieć o zdarzeniach (637)
- Sekwencje zdarzeń (638)
- Gdzie należy umieścić procedury obsługi zdarzeń? (638)
- Wyłączanie obsługi zdarzeń (640)
- Wprowadzanie kodu procedury obsługi zdarzeń (641)
- Procedury obsługi zdarzeń z argumentami (642)
- Zdarzenia poziomu skoroszytu (644)
- Zdarzenie Open (645)
- Zdarzenie Activate (646)
- Zdarzenie SheetActivate (646)
- Zdarzenie NewSheet (647)
- Zdarzenie BeforeSave (647)
- Zdarzenie Deactivate (647)
- Zdarzenie BeforePrint (648)
- Zdarzenie BeforeClose (649)
- Zdarzenia poziomu arkusza (651)
- Zdarzenie Change (652)
- Monitorowanie zmian w wybranym zakresie komórek (653)
- Zdarzenie SelectionChange (657)
- Zdarzenie BeforeDoubleClick (658)
- Zdarzenie BeforeRightClick (659)
- Zdarzenia dotyczące wykresów (660)
- Zdarzenia dotyczące aplikacji (660)
- Włączenie obsługi zdarzeń poziomu aplikacji (662)
- Sprawdzanie, czy skoroszyt jest otwarty (663)
- Monitorowanie zdarzeń poziomu aplikacji (664)
- Zdarzenia dotyczące formularzy UserForm (665)
- Zdarzenia niezwiązane z obiektami (666)
- Zdarzenie OnTime (667)
- Zdarzenie OnKey (668)
Rozdział 18. Interakcje z innymi aplikacjami (673)
- Uruchamianie innych aplikacji z poziomu Excela (673)
- Zastosowanie funkcji Shell języka VBA (673)
- Wyświetlanie okna folderu (676)
- Zastosowanie funkcji ShellExecute interfejsu Windows API (676)
- Uaktywnianie aplikacji z poziomu Excela (677)
- Wykorzystanie instrukcji AppActivate (677)
- Uaktywnianie aplikacji pakietu Microsoft Office (678)
- Uruchamianie okien dialogowych Panelu sterowania (678)
- Wykorzystanie automatyzacji w programie Excel (680)
- Działania z obiektami innych aplikacji z wykorzystaniem automatyzacji (680)
- Wczesne i późne wiązanie (681)
- Prosty przykład późnego wiązania (684)
- Sterowanie Wordem z poziomu Excela (685)
- Zarządzanie Excelem z poziomu innej aplikacji (688)
- Wysyłanie spersonalizowanych wiadomości e-mail z wykorzystaniem Outlooka (690)
- Wysyłanie wiadomości e-mail z załącznikami z poziomu Excela (693)
Rozdział 19. Tworzenie i wykorzystanie dodatków (697)
- Czym są dodatki? (697)
- Porównanie dodatku ze standardowym skoroszytem (697)
- Po co tworzy się dodatki? (698)
- Menedżer dodatków Excela (700)
- Tworzenie dodatków (702)
- Przykład tworzenia dodatku (703)
- Tworzenie opisu dla dodatku (704)
- Tworzenie dodatku (704)
- Instalowanie dodatku (705)
- Testowanie dodatków (707)
- Dystrybucja dodatków (707)
- Modyfikowanie dodatku (707)
- Porównanie plików XLAM i XLSM (709)
- Pliki XLAM - przynależność do kolekcji z poziomu VBA (709)
- Widoczność plików XLSM i XLAM (709)
- Arkusze i wykresy w plikach XLSM i XLAM (710)
- Dostęp do procedur VBA w dodatku (711)
- Przetwarzanie dodatków za pomocą kodu VBA (714)
- Dodawanie nowych elementów do kolekcji AddIns (714)
- Usuwanie elementów z kolekcji AddIns (715)
- Właściwości obiektu AddIn (716)
- Korzystanie z dodatku jak ze skoroszytu (719)
- Zdarzenia związane z obiektami AddIn (719)
- Optymalizacja wydajności dodatków (720)
- Problemy z dodatkami (721)
- Zapewnienie, że dodatek został zainstalowany (721)
- Odwoływanie się do innych plików z poziomu dodatku (723)
- Wykrywanie właściwej wersji Excela dla dodatku (723)
CZĘŚĆ V. TWORZENIE APLIKACJI (725)
Rozdział 20. Praca ze Wstążką (727)
- Wprowadzenie do pracy ze Wstążką (727)
- VBA i Wstążka (731)
- Dostęp do poleceń Wstążki (731)
- Praca ze Wstążką (733)
- Aktywowanie karty (735)
- Dostosowywanie Wstążki do własnych potrzeb (736)
- Prosty przykład kodu RibbonX (737)
- Prosty przykład kodu RibbonX - podejście 2. (740)
- Kolejny przykład kodu RibbonX (745)
- Demo formantów Wstążki (747)
- Przykład użycia formantu DynamicMenu (753)
- Więcej wskazówek dotyczących modyfikacji Wstążki (756)
- Tworzenie pasków narzędzi w starym stylu (757)
- Ograniczenia funkcjonalności tradycyjnych pasków narzędzi w Excelu 2007 i nowszych
wersjach (757)
- Kod tworzący pasek narzędzi (758)
Rozdział 21. Praca z menu podręcznym (761)
- Obiekt CommandBar (761)
- Rodzaje obiektów CommandBar (762)
- Wyświetlanie menu podręcznych (762)
- Odwołania do elementów kolekcji CommandBars (763)
- Odwołania do formantów obiektu CommandBar (764)
- Właściwości formantów obiektu CommandBar (765)
- Wyświetlanie wszystkich elementów menu podręcznego (766)
- Wykorzystanie VBA do dostosowywania menu podręcznego (767)
- Co nowego w Excelu 2013 (767)
- Resetowanie menu podręcznego (770)
- Wyłączanie menu podręcznego (771)
- Wyłączanie wybranych elementów menu podręcznego (772)
- Dodawanie nowego elementu do menu podręcznego Cell (772)
- Dodawanie nowego podmenu do menu podręcznego (774)
- Ograniczanie zasięgu modyfikacji menu podręcznego do jednego skoroszytu (777)
- Menu podręczne i zdarzenia (777)
- Automatyczne tworzenie i usuwanie menu podręcznego (777)
- Wyłączanie lub ukrywanie elementów menu podręcznego (778)
- Tworzenie kontekstowych menu podręcznych (778)
Rozdział 22. Tworzenie systemów pomocy w aplikacjach (781)
- Systemy pomocy w aplikacjach Excela (781)
- Systemy pomocy wykorzystujące komponenty Excela (784)
- Wykorzystanie komentarzy do tworzenia systemów pomocy (784)
- Wykorzystanie pól tekstowych do wyświetlania pomocy (785)
- Wykorzystanie arkusza do wyświetlania tekstu pomocy (786)
- Wyświetlanie pomocy w oknie formularza UserForm (788)
- Wyświetlanie pomocy w oknie przeglądarki sieciowej (791)
- Zastosowanie plików w formacie HTML (791)
- Wykorzystanie metody Help do wyświetlania pomocy w formacie HTML Help (795)
- Łączenie pliku pomocy z aplikacją (796)
- Przypisanie tematów pomocy do funkcji VBA (797)
Rozdział 23. Tworzenie aplikacji przyjaznych dla użytkownika (799)
- Czym jest aplikacja przyjazna dla użytkownika? (799)
- Kreator amortyzacji pożyczek (799)
- Obsługa Kreatora amortyzacji pożyczek (800)
- Struktura skoroszytu Kreatora amortyzacji pożyczek (802)
- Jak działa Kreator amortyzacji pożyczek? (802)
- Potencjalne usprawnienia Kreatora amortyzacji pożyczek (809)
- Wskazówki dotyczące projektowania aplikacji (809)
CZĘŚĆ VI. INNE ZAGADNIENIA (811)
Rozdział 24. Problem kompatybilności aplikacji (813)
- Co to jest kompatybilność? (813)
- Rodzaje problemów ze zgodnością (814)
- Unikaj używania nowych funkcji i mechanizmów (815)
- Czy aplikacja będzie działać na komputerach Macintosh? (817)
- Praca z 64-bitową wersją Excela (818)
- Tworzenie aplikacji dla wielu wersji narodowych (819)
- Aplikacje obsługujące wiele języków (821)
- Obsługa języka w kodzie VBA (822)
- Wykorzystanie właściwości lokalnych (822)
- Identyfikacja ustawień systemu (823)
- Ustawienia daty i godziny (825)
Rozdział 25. Operacje na plikach wykonywane za pomocą kodu VBA (827)
- Najczęściej wykonywane operacje na plikach (827)
- Zastosowanie poleceń języka VBA do wykonywania operacji na plikach (828)
- Zastosowanie obiektu FileSystemObject (833)
- Wyświetlanie rozszerzonych informacji o plikach (836)
- Operacje z plikami tekstowymi (838)
- Otwieranie plików tekstowych (838)
- Odczytywanie plików tekstowych (839)
- Zapisywanie danych do plików tekstowych (839)
- Przydzielanie numeru pliku (840)
- Określanie lub ustawianie pozycji w pliku (840)
- Instrukcje pozwalające na odczytywanie i zapisywanie plików (841)
- Przykłady wykonywania operacji na plikach (841)
- Importowanie danych z pliku tekstowego (841)
- Eksportowanie zakresu do pliku tekstowego (843)
- Importowanie pliku tekstowego do zakresu (844)
- Rejestrowanie wykorzystania Excela (845)
- Filtrowanie zawartości pliku tekstowego (846)
- Eksportowanie zakresu komórek do pliku HTML (846)
- Eksportowanie zakresu komórek do pliku XML (849)
- Pakowanie i rozpakowywanie plików (851)
- Pakowanie plików do formatu ZIP (852)
- Rozpakowywanie plików ZIP (854)
- Działania z obiektami danych ActiveX (ADO) (855)
Rozdział 26. Operacje na składnikach języka VBA (857)
- Podstawowe informacje o środowisku IDE (857)
- Model obiektowy środowiska IDE (860)
- Kolekcja VBProjects (860)
- Wyświetlanie wszystkich składników projektu VBA (862)
- Wyświetlanie wszystkich procedur VBA w arkuszu (863)
- Zastępowanie modułu uaktualnioną wersją (864)
- Zastosowanie języka VBA do generowania kodu VBA (867)
- Zastosowanie VBA do umieszczenia formantów na formularzu UserForm (868)
- Operacje z formularzami UserForm w fazie projektowania i wykonania (869)
- Dodawanie 100 przycisków CommandButton w fazie projektowania (870)
- Programowe tworzenie formularzy UserForm (872)
- Prosty przykład formularza UserForm (872)
- Użyteczny (ale już nie tak prosty) przykład dynamicznego formularza UserForm (874)
Rozdział 27. Moduły klas (879)
- Czym jest moduł klasy? (879)
- Przykład: utworzenie klasy NumLock (880)
- Wstawianie modułu klasy (881)
- Dodawanie kodu VBA do modułu klasy (881)
- Wykorzystanie klasy NumLock (883)
- Dodatkowe informacje na temat modułów klas (884)
- Programowanie właściwości obiektów (884)
- Programowanie metod obiektów (886)
- Zdarzenia definiowane w module klasy (887)
- Przykład: klasa CSVFileClass (887)
- Zmienne poziomu modułu dla klasy CSVFileClass (888)
- Definicje właściwości klasy CSVFileClass (888)
- Definicje metod klasy CSVFileClass (888)
- Wykorzystanie obiektów CSVFileClass (890)
Rozdział 28. Praca z kolorami (893)
- Definiowanie kolorów (893)
- Model kolorów RGB (894)
- Model kolorów HSL (895)
- Konwersja kolorów (895)
- Skala szarości (897)
- Zamiana kolorów na skalę szarości (899)
- Eksperymenty z kolorami (900)
- Praca z motywami dokumentów (901)
- Kilka słów o motywach dokumentów (901)
- Kolory motywów dokumentów (902)
- Wyświetlanie wszystkich kolorów motywu (905)
- Praca z obiektami Shape (908)
- Kolor tła kształtu (909)
- Kształty i kolory motywów (911)
- Modyfikacja kolorów wykresów (912)
Rozdział 29. Często zadawane pytania na temat programowania w Excelu (917)
- FAQ - czyli często zadawane pytania (917)
- Ogólne pytania dotyczące programu Excel (918)
- Pytania dotyczące edytora Visual Basic (923)
- Pytania dotyczące procedur (926)
- Pytania dotyczące funkcji (931)
- Pytania dotyczące obiektów, właściwości, metod i zdarzeń (934)
- Pytania dotyczące zagadnień związanych z bezpieczeństwem (942)
- Pytania dotyczące formularzy UserForm (943)
- Pytania dotyczące dodatków (948)
- Pytania dotyczące interfejsu użytkownika (950)
DODATKI (953)
Dodatek A. Instrukcje i funkcje VBA (955)
- Wywoływanie funkcji Excela w instrukcjach VBA (958)
Dodatek B. Kody błędów VBA (965)
Dodatek C. Strona internetowa książki (969)
Skorowidz (985)
1016 stron, Format: 17.0x25.0cm, oprawa twarda
Księgarnia nie działa. Nie odpowiadamy na pytania i nie realizujemy zamówien. Do odwolania !.