Professional Documents
Culture Documents
PRZYKADOWY ROZDZIA
SPIS TRECI
KATALOG KSIEK
KATALOG ONLINE
ZAMW DRUKOWANY KATALOG
TWJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK
CZYTELNIA
FRAGMENTY KSIEK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
5RKUVTGEK
!
Historia arkuszy kalkulacyjnych w zarysie ...........................................................................29
Wszystko zaczo si od programu VisiCalc ..................................................................29
Program 1-2-3 firmy Lotus..............................................................................................30
Program Quattro Pro........................................................................................................33
Program Microsoft Excel.................................................................................................34
Excel jako dobre narzdzie dla projektantw aplikacji .........................................................36
Rola Excela w strategii Microsoftu .......................................................................................38
" #
Mylenie obiektowe ...............................................................................................................39
Skoroszyty .............................................................................................................................40
Arkusze............................................................................................................................40
Arkusze wykresw ..........................................................................................................41
Arkusze makr XLM.........................................................................................................42
Arkusze dialogowe programw Excel 5/95.....................................................................42
Interfejs uytkownika w Excelu ............................................................................................42
Menu................................................................................................................................42
Menu podrczne ..............................................................................................................43
Paski narzdzi ..................................................................................................................43
Okna dialogowe...............................................................................................................44
Funkcja przecignij i upu..........................................................................................45
Skrty klawiaturowe........................................................................................................45
Inteligentne tagi ...............................................................................................................45
Panel zada ......................................................................................................................46
Wprowadzanie danych...........................................................................................................46
Formuy, funkcje i nazwy ......................................................................................................48
Dostosowywanie zawartoci okna Excela .............................................................................49
Zaznaczanie obiektw............................................................................................................49
Formatowanie ........................................................................................................................50
Formatowanie liczbowe...................................................................................................50
Formatowane stylu ..........................................................................................................50
Ksztaty ..................................................................................................................................51
Wykresy .................................................................................................................................52
Makra i programowanie.........................................................................................................52
$#%& #&'
(
Formuy..................................................................................................................................63
Obliczanie formu ..................................................................................................................63
Odwoania do komrki lub zakresu .......................................................................................64
Dlaczego warto stosowa odwoania, ktre nie s wzgldne? ........................................65
Notacja W1K1 .................................................................................................................65
Odwoania do innych arkuszy lub skoroszytw ..............................................................66
Zastosowanie nazw ................................................................................................................67
Nadawanie nazw komrkom i zakresom.........................................................................67
Nadawanie nazw istniejcym odwoaniom .....................................................................68
Stosowanie nazw z operatorem przecicia ......................................................................69
Nadawanie nazw kolumnom i wierszom.........................................................................70
Obszar obowizywania nazw ..........................................................................................70
Nadawanie nazw staym ..................................................................................................70
Nadawanie nazw formuom.............................................................................................71
Nadawanie nazw obiektom..............................................................................................73
Bdy formu ..........................................................................................................................73
Formuy tablicowe .................................................................................................................74
Przykad formuy tablicowej ...........................................................................................74
Kalendarz oparty na formule tablicowej .........................................................................75
Zalety i wady formuy tablicowej....................................................................................75
Metody zliczania i sumowania ..............................................................................................76
Zastosowanie funkcji LICZ.JEELI lub SUMA.JEELI ...............................................76
Zastosowanie formu tablicowych do zliczania i sumowania .........................................77
Inne narzdzia zliczajce .................................................................................................79
Uywanie daty i czasu ...........................................................................................................79
Wprowadzanie daty i czasu .............................................................................................79
Stosowanie dat sprzed roku 1900 ....................................................................................80
Tworzenie megaformu..........................................................................................................81
)
*+
Uruchamianie Excela .............................................................................................................85
Obsugiwane formaty plikw arkuszy kalkulacyjnych..........................................................87
Pliki arkusza kalkulacyjnego 1-2-3 firmy Lotus .............................................................87
Pliki arkusza kalkulacyjnego Quattro Pro .......................................................................88
Spis treci
+
+
Robocza definicja aplikacji arkusza kalkulacyjnego ...........................................................105
Projektant i uytkownik kocowy .......................................................................................106
Kim s projektanci i czym si zajmuj? ........................................................................107
Klasyfikacja uytkownikw arkuszy kalkulacyjnych ...................................................108
Odbiorcy aplikacji arkusza kalkulacyjnego...................................................................108
Rozwizywanie problemw przy uyciu aplikacji arkusza kalkulacyjnego........................109
Podstawowe kategorie aplikacji arkusza kalkulacyjnego ....................................................110
Arkusze kalkulacyjne tworzone szybko i niestarannie..................................................111
Arkusze kalkulacyjne przeznaczone wycznie do uytku prywatnego........................111
Aplikacje jednego uytkownika ....................................................................................112
Aplikacje typu spaghetti.............................................................................................112
Aplikacje uytkowe .......................................................................................................112
Dodatki zawierajce funkcje arkusza ............................................................................113
Jednoblokowe budety ..................................................................................................113
Modele warunkowe .......................................................................................................114
Aplikacje przechowujce dane i udzielajce do nich dostpu.......................................114
Aplikacje komunikujce si z bazami danych...............................................................115
Aplikacje pod klucz ...................................................................................................115
(
/
Podstawowe etapy projektowania........................................................................................117
Okrelenie wymaga uytkownika ......................................................................................118
Planowanie aplikacji speniajcej wymagania uytkownika ...............................................119
Okrelenie najwaciwszego interfejsu uytkownika ..........................................................121
Tworzenie niestandardowych okien dialogowych ........................................................122
Zastosowanie kontrolek ActiveX w arkuszu .................................................................122
Dostosowanie menu.......................................................................................................123
Dostosowywanie paskw narzdzi................................................................................125
Tworzenie skrtw klawiaturowych .............................................................................127
Rozpoczcie prac projektowych....................................................................................127
Podstawowe informacje o jzyku BASIC ...........................................................................139
Jzyk VBA...........................................................................................................................139
Modele obiektowe .........................................................................................................140
Porwnanie jzyka VBA z jzykiem XLM...................................................................140
Wprowadzenie do jzyka VBA ...........................................................................................140
Edytor Visual Basic .............................................................................................................144
Uruchomienie edytora VBE ..........................................................................................144
Okna edytora Visual Basic ............................................................................................145
Zastosowanie okna Project Explorer ...................................................................................146
Dodanie nowego moduu VBA .....................................................................................147
Usuwanie moduu VBA.................................................................................................148
Eksportowanie i importowanie obiektw ......................................................................148
Zastosowanie okien Code ....................................................................................................148
Minimalizacja i maksymalizacja okien .........................................................................149
Przechowywanie kodu rdowego jzyka VBA ..........................................................149
Wprowadzanie kodu rdowego jzyka VBA .............................................................150
Dostosowywanie edytora Visual Basic................................................................................155
Zakadka Editor .............................................................................................................156
Zakadka Editor Format.................................................................................................158
Zakadka General...........................................................................................................159
Zastosowanie zakadki Docking....................................................................................160
Rejestrator makr Excela.......................................................................................................160
Co waciwie rejestrator makr zapisuje? .......................................................................161
Wzgldne czy bezwzgldne?.........................................................................................162
Opcje zwizane z rejestrowaniem .................................................................................165
Modyfikowanie zarejestrowanych makr .......................................................................166
Obiekty i zbiory ...................................................................................................................167
Hierarchia obiektw ......................................................................................................168
Zbiory ............................................................................................................................168
Odwoywanie si do obiektw ......................................................................................169
Waciwoci i metody ..........................................................................................................169
Waciwoci obiektw...................................................................................................170
Metody obiektw...........................................................................................................171
Obiekt Comment..................................................................................................................172
Pomoc dotyczca obiektu Comment .............................................................................172
Waciwoci obiektu Comment .....................................................................................173
Metody obiektu Comment .............................................................................................173
Spis treci
*
#."&-#01
*
Przegld elementw jzyka VBA ........................................................................................189
Komentarze ..........................................................................................................................191
Zmienne, typy danych i stae ...............................................................................................192
Definiowanie typw danych..........................................................................................193
Deklarowanie zmiennych ..............................................................................................196
Zasig zmiennych ..........................................................................................................197
Zastosowanie staych.....................................................................................................201
Zastosowanie acuchw...............................................................................................202
Zastosowanie dat ...........................................................................................................203
Instrukcje przypisania ..........................................................................................................204
Tablice .................................................................................................................................205
Deklarowanie tablic.......................................................................................................205
Deklarowanie tablic wielowymiarowych ......................................................................206
Zmienne obiektowe..............................................................................................................207
Typy danych definiowane przez uytkownika ....................................................................208
Funkcje wbudowane ............................................................................................................208
Manipulowanie obiektami i zbiorami ..................................................................................211
Konstrukcja With ... End With ......................................................................................211
Konstrukcja For Each ... Next .......................................................................................212
Sterowanie wykonywaniem procedur..................................................................................214
Instrukcja GoTo.............................................................................................................214
Konstrukcja If ... Then...................................................................................................215
Konstrukcja Select Case ................................................................................................218
Wykonywanie bloku instrukcji w ramach ptli.............................................................221
/
Deklarowanie i tworzenie procedur Sub jzyka VBA.........................................................227
Deklarowanie procedury Sub ........................................................................................227
Zasig procedury ...........................................................................................................228
Wykonywanie procedur Sub................................................................................................229
Wykonywanie procedury przy uyciu polecenia Run Sub/UserForm ..........................230
Uruchamianie procedury z poziomu okna dialogowego Makro ...................................230
Wykonywanie procedury przy uyciu skrtu opartego na klawiszu Ctrl......................231
Wykonywanie procedury przy uyciu niestandardowego menu...................................232
Wywoywanie procedury z innej procedury..................................................................233
Wykonywanie procedury przy uyciu przycisku paska narzdzi..................................237
Wykonywanie procedury poprzez kliknicie obiektu ...................................................238
Wykonywanie makra po wystpieniu zdarzenia ...........................................................239
Wykonywanie procedury z poziomu okna Immediate ..................................................239
3 & . 4&&
(
Porwnanie procedur Sub i Function...................................................................................261
Dlaczego tworzy si funkcje niestandardowe? ....................................................................261
Pierwszy przykad procedury Function ...............................................................................262
Funkcja niestandardowa ................................................................................................262
Zastosowanie funkcji w arkuszu....................................................................................263
Zastosowanie funkcji w procedurze jzyka VBA .........................................................264
Analiza funkcji niestandardowej ...................................................................................264
Procedury Function..............................................................................................................265
Deklarowanie funkcji ....................................................................................................265
Zasig funkcji ................................................................................................................266
Wykonywanie procedur Function .................................................................................267
Argumenty procedury Function...........................................................................................268
Przykady funkcji .................................................................................................................268
Funkcja pozbawiona argumentw .................................................................................269
Kolejna funkcja pozbawiona argumentw ....................................................................270
Funkcja z jednym argumentem......................................................................................270
Funkcja z dwoma argumentami.....................................................................................273
Funkcja pobierajca tablic jako argument ...................................................................274
Funkcja uywajca opcjonalnych argumentw.............................................................274
Funkcja zwracajca tablic jzyka VBA .......................................................................276
Funkcja zwracajca warto bdu ................................................................................278
Funkcja o nieokrelonej liczbie argumentw ................................................................280
Emulowanie funkcji SUMA Excela ....................................................................................280
Funkcje wykrywajce i usuwajce bdy.............................................................................283
Okno dialogowe Wstawianie funkcji...................................................................................284
Definiowanie kategorii funkcji......................................................................................285
Dodanie opisu funkcji....................................................................................................286
Dodatki przechowujce funkcje niestandardowe ................................................................287
Interfejs API systemu Windows ..........................................................................................287
Przykady zastosowania funkcji interfejsu API systemu Windows ..............................288
Identyfikacja katalogu systemu Windows.....................................................................288
Wykrywanie wcinicia klawisza Shift.........................................................................289
Dodatkowe informacje na temat funkcji interfejsu API................................................290
Spis treci
## #."&-#01
Przetwarzanie zakresw.......................................................................................................291
Kopiowanie zakresu ......................................................................................................292
Przenoszenie zakresu.....................................................................................................293
Kopiowanie zakresu o zmiennej wielkoci ...................................................................293
Zaznaczanie rnego typu zakresw i identyfikowanie ich ..........................................294
Wprowadzanie wartoci do komrki.............................................................................296
Wprowadzanie wartoci do nastpnej pustej komrki ..................................................297
Wstrzymywanie wykonywania makra
w celu pobrania zakresu zaznaczonego przez uytkownika.......................................298
Zliczanie zaznaczonych komrek..................................................................................299
Okrelanie typu zaznaczonego zakresu .........................................................................300
Wydajne przetwarzanie komrek zaznaczonego zakresu przy uyciu ptli..................302
Usuwanie wszystkich pustych wierszy..........................................................................303
Okrelanie, czy zakres zawiera si w innym zakresie ...................................................304
Okrelanie typu danych zawartych w komrce.............................................................304
Odczytywanie i zapisywanie zakresw .........................................................................305
Lepsza metoda zapisywania zakresu .............................................................................306
Przenoszenie zawartoci tablic jednowymiarowych .....................................................308
Przenoszenie zawartoci zakresu do tablicy typu Variant.............................................308
Zaznaczanie maksymalnej wartoci zakresu .................................................................309
Zaznaczanie wszystkich komrek okrelonego formatu ...............................................310
Przetwarzanie skoroszytw i arkuszy ..................................................................................312
Zapisywanie wszystkich skoroszytw...........................................................................312
Zapisywanie i zamykanie wszystkich skoroszytw ......................................................312
Korzystanie z waciwoci skoroszytu ..........................................................................312
Synchronizowanie arkuszy ............................................................................................313
Metody programowania w jzyku VBA ..............................................................................314
Przeczanie wartoci waciwoci typu logicznego .....................................................314
Okrelanie liczby drukowanych stron ...........................................................................315
Wywietlanie daty i czasu .............................................................................................315
Pobieranie listy czcionek ...............................................................................................317
Sortowanie tablicy .........................................................................................................318
Przetwarzanie grupy plikw ..........................................................................................319
Funkcje przydatne w procedurach jzyka VBA ..................................................................320
Funkcja FileExists .........................................................................................................321
Funkcja FileNameOnly..................................................................................................321
Funkcja PathExists ........................................................................................................321
Funkcja RangeNameExists............................................................................................322
Funkcja SheetExists.......................................................................................................322
Funkcja WorkbookIsOpen.............................................................................................322
Pobieranie wartoci z zamknitego skoroszytu .............................................................322
Funkcje przydatne w formuach arkusza .............................................................................324
Funkcje zwracajce informacje o formatowaniu komrki ............................................324
Wywietlanie daty w trakcie zapisywania lub drukowania pliku..................................325
Obiekty nadrzdne.........................................................................................................326
Zliczanie komrek, ktrych wartoci zawieraj si pomidzy dwoma wartociami ....327
Zliczanie widocznych komrek zakresu........................................................................328
Okrelanie ostatniej niepustej komrki kolumny lub wiersza.......................................328
Czy acuch jest zgodny z wzorcem?............................................................................330
Wydzielanie n-tego elementu acucha.........................................................................331
Funkcja wielofunkcyjna ................................................................................................332
Funkcja SHEETOFFSET ..............................................................................................333
Zwracanie maksymalnej wartoci ze wszystkich arkuszy.............................................334
10
)/
Okno wprowadzania danych................................................................................................347
Funkcja InputBox jzyka VBA .....................................................................................347
Metoda InputBox Excela ...............................................................................................349
Okno komunikatu funkcja MsgBox jzyka VBA...........................................................351
Metoda GetOpenFilename Excela .......................................................................................354
Metoda GetSaveAsFilename Excela ...................................................................................357
Okno wybierania katalogu ...................................................................................................357
Wybieranie katalogu przy uyciu funkcji interfejsu API systemu Windows................358
Wybieranie katalogu przy uyciu obiektu FileDialog...................................................360
Wywietlanie wbudowanych okien dialogowych Excela....................................................360
Zastosowanie zbioru Dialogs.........................................................................................361
Dodatkowe informacje na temat wbudowanych okien dialogowych............................362
Zastosowanie argumentw z wbudowanymi oknami dialogowymi..............................363
Bezporednie wybieranie pozycji menu ........................................................................363
$. & '#6 4
(+
Wstawianie nowego formularza UserForm .........................................................................365
Dodawanie kontrolek do formularza UserForm ..................................................................366
Kontrolki okna Toolbox.......................................................................................................367
Kontrolka CheckBox .....................................................................................................367
Kontrolka ComboBox....................................................................................................367
Kontrolka CommandButton ..........................................................................................367
Kontrolka Frame............................................................................................................367
Kontrolka Image ............................................................................................................369
Kontrolka Label.............................................................................................................369
Kontrolka ListBox .........................................................................................................369
Kontrolka MultiPage .....................................................................................................369
Kontrolka OptionButton ................................................................................................369
Kontrolka RefEdit..........................................................................................................370
Kontrolka ScrollBar.......................................................................................................370
Kontrolka SpinButton....................................................................................................370
Kontrolka TabStrip ........................................................................................................370
Kontrolka TextBox ........................................................................................................370
Kontrolka ToggleButton................................................................................................370
Modyfikowanie kontrolek formularza UserForm................................................................370
Modyfikowanie waciwoci kontrolki................................................................................371
Zastosowanie okna Properties .......................................................................................372
Wsplne waciwoci ....................................................................................................373
Zdobywanie dodatkowych informacji o waciwociach..............................................373
Uwzgldnienie wymaga uytkownikw preferujcych korzystanie z klawiatury ......373
Spis treci
11
)
##'#6 4
+
Tworzenie formularza UserForm penicego funkcj menu ...............................................395
Zastosowanie w formularzu UserForm kontrolek CommandButton ............................395
Zastosowanie w formularzu UserForm kontrolki ListBox............................................396
Zaznaczanie zakresw przy uyciu formularza UserForm..................................................397
Tworzenie okna powitalnego...............................................................................................398
Wyczanie przycisku Zamknij formularza UserForm........................................................400
Zmiana wielkoci formularza UserForm .............................................................................401
Powikszanie i przewijanie arkusza przy uyciu formularza UserForm .............................402
Zastosowania kontrolki ListBox ..........................................................................................404
Kontrolka ListBox .........................................................................................................404
Umieszczanie pozycji w kontrolce ListBox ..................................................................405
Identyfikowanie zaznaczonej pozycji............................................................................408
Identyfikowanie wielu zaznaczonych pozycji kontrolki ListBox .................................409
Wiele list w jednej kontrolce ListBox ...........................................................................410
Przenoszenie pozycji kontrolki ListBox........................................................................410
Przemieszczanie pozycji kontrolki ListBox ..................................................................412
Stosowanie wielokolumnowych kontrolek ListBox......................................................413
Zastosowanie kontrolki ListBox do wybierania wierszy arkusza .................................415
Uaktywnianie arkusza za pomoc kontrolki ListBox....................................................417
Zastosowania kontrolki MultiPage ......................................................................................418
+
2&& 5&#&'#6 4
)
Wywietlanie wskanika postpu zadania ...........................................................................421
Tworzenie samodzielnego wskanika postpu zadania.................................................422
Wywietlanie wskanika postpu zadania za pomoc kontrolki MultiPage .................424
Wywietlanie wskanika postpu zadania bez korzystania z kontrolki MultiPage.......426
Kreatory interaktywne sekwencje okien dialogowych ...................................................427
Konfigurowanie kontrolki MultiPage w celu utworzenia kreatora ...............................428
Dodawanie przyciskw do formularza UserForm kreatora...........................................428
12
%
(
3 & & -#01
)++
Wprowadzenie .....................................................................................................................455
Zastosowanie jzyka VBA do tworzenia narzdzi ..............................................................456
Co decyduje o przydatnoci narzdzia?...............................................................................456
Operacje tekstowe anatomia narzdzia...........................................................................457
Podstawy tworzenia narzdzia Operacje tekstowe........................................................458
Okrelenie wymaga dla narzdzia Operacje tekstowe ................................................458
Jak dziaa narzdzie Operacje tekstowe?.......................................................................458
Skoroszyt narzdzia Operacje tekstowe ........................................................................459
Formularz UserForm dla narzdzia Operacje tekstowe ................................................459
Modu kodu ThisWorkbook ..........................................................................................461
Modu VBA Module1....................................................................................................462
Modu formularza UserForm1.......................................................................................463
Poprawa wydajnoci narzdzia Operacje tekstowe .......................................................464
Zapisywanie ustawie narzdzia Operacje tekstowe.....................................................465
Implementacja procedury Cofnij ...................................................................................466
Ocena realizacji projektu ...............................................................................................468
Dziaanie narzdzia Operacje tekstowe.........................................................................469
Dodatkowe informacje na temat narzdzi Excela................................................................469
/
3% . &
)/
Wykorzystanie jzyka VBA do tworzenia tabel przestawnych...........................................471
Tworzenie tabel przestawnych ......................................................................................471
Analiza zarejestrowanego kodu tworzenia tabeli przestawnej ......................................473
Ulepszanie zarejestrowanego kodu tworzenia tabeli przestawnej.................................473
Zoone tabele przestawne...................................................................................................474
Dane dla zoonej tabeli przestawnej ............................................................................475
Kod tworzcy tabel przestawn ...................................................................................475
Jak dziaa zoona tabela przestawna?...........................................................................477
Spis treci
13
*
$# #
)*+
Podstawowe wiadomoci o wykresach................................................................................485
Pooenie wykresu.........................................................................................................485
Model obiektu Chart......................................................................................................486
Rejestrowanie makr dotyczcych wykresw .......................................................................487
Zarejestrowany kod makra tworzcego wykres ............................................................487
Ulepszanie zarejestrowanego kodu tworzenia wykresu ................................................489
Popularne techniki jzyka VBA dotyczce wykresw ........................................................489
Wykorzystanie VBA do uaktywnienia wykresu ...........................................................490
Wykorzystanie VBA do deaktywacji wykresu..............................................................491
Sprawdzanie, czy wykres uaktywniono.........................................................................492
Usuwanie elementw z kolekcji ChartObjects lub Charts ............................................492
Formatowanie wykresw za pomoc VBA ...................................................................493
Przetwarzanie wszystkich wykresw w ptli ................................................................494
Zmiana rozmiarw i wyrwnywanie obiektw ChartObject ........................................494
Inne techniki przetwarzania wykresw................................................................................496
Zastosowanie nazw w formule SERIE ..........................................................................496
Zastosowanie jzyka VBA w celu okrelenia danych
wykorzystywanych na wykresie.................................................................................497
Zastosowanie jzyka VBA w celu okrelenia zakresu danych
wykorzystywanych na wykresie.................................................................................500
Wykorzystanie VBA do wywietlania dowolnych etykiet danych na wykresie ...........503
Wywietlanie wykresu w oknie UserForm....................................................................505
Zdarzenia zwizane z wykresami ........................................................................................507
Przykad wykorzystania zdarze zwizanych z wykresami ..........................................507
Obsuga zdarze dla wykresw wbudowanych.............................................................511
Zastosowanie zdarze dla wykresw wbudowanych ....................................................512
Jak uatwi sobie prac z wykresami? .................................................................................514
Drukowanie wbudowanych wykresw..........................................................................515
Tworzenie martwych wykresw ................................................................................515
Wykorzystanie zdarzenia MouseOver do wywietlania tekstu .....................................517
Wykresy animowane .....................................................................................................518
Tworzenie wykresu krzywych hipocykloidalnych ........................................................519
Tworzenie wykresu-zegara............................................................................................520
Co mona zrobi z wykresami bez uycia makr?................................................................522
Sterowanie seriami danych za pomoc automatycznego filtrowania............................522
Zapisywanie wielu wykresw w arkuszu-wykresie ......................................................523
Tworzenie samorozszerzajcego si wykresu ...............................................................524
Tworzenie interaktywnego wykresu..............................................................................530
%" 7
+ +
Typy zdarze, ktre mona monitorowa w Excelu............................................................535
Najwaniejsze informacje o zdarzeniach.............................................................................536
Sekwencje zdarze ........................................................................................................536
Gdzie naley umieci procedury obsugi zdarze?......................................................537
Wyczanie obsugi zdarze ..........................................................................................538
Wprowadzanie kodu procedury obsugi zdarze...........................................................539
Procedury obsugi zdarze z argumentami....................................................................540
Zdarzenia poziomu skoroszytu ............................................................................................541
Zdarzenie Open..............................................................................................................541
Zdarzenie Activate.........................................................................................................543
14
Zdarzenie SheetActivate................................................................................................543
Zdarzenie NewSheet......................................................................................................544
Zdarzenie BeforeSave....................................................................................................544
Zdarzenie Deactivate .....................................................................................................544
Zdarzenie BeforePrint....................................................................................................545
Zdarzenie BeforeClose ..................................................................................................546
Zdarzenia poziomu arkusza .................................................................................................547
Zdarzenie Change ..........................................................................................................547
Monitorowanie modyfikacji w wybranym zakresie komrek.......................................549
Zdarzenie SelectionChange ...........................................................................................551
Zdarzenie BeforeRightClick..........................................................................................552
Zdarzenia dotyczce wykresw ...........................................................................................553
Zdarzenia dotyczce aplikacji..............................................................................................553
Wczenie obsugi zdarze poziomu aplikacji ..............................................................554
Sprawdzanie, czy skoroszyt jest otwarty.......................................................................556
Monitorowanie zdarze poziomu aplikacji ...................................................................557
Zdarzenia dotyczce formularzy UserForm ........................................................................558
Zdarzenia niezwizane z obiektami .....................................................................................559
Zdarzenie OnTime.........................................................................................................560
Zdarzenie OnKey...........................................................................................................561
8& - &&#.-
+(
Uruchamianie innych aplikacji z poziomu Excela ..............................................................563
Zastosowanie funkcji Shell jzyka VBA.......................................................................563
Zastosowanie funkcji Windows API ShellExecute .......................................................566
Uaktywnianie aplikacji z poziomu Excela...........................................................................567
Wykorzystanie instrukcji AppActivate .........................................................................567
Uaktywnianie aplikacji pakietu Microsoft Office .........................................................567
Uruchamianie okien dialogowych Panelu sterowania .........................................................568
Wykorzystanie automatyzacji..............................................................................................569
Dziaania z obiektami innych aplikacji z wykorzystaniem automatyzacji....................569
Wczesne i pne wizanie.............................................................................................570
Prosty przykad pnego wizania ................................................................................572
Zarzdzanie Wordem z poziomu Excela .......................................................................573
Zarzdzanie Excelem z poziomu innej aplikacji ...........................................................576
Wysyanie spersonalizowanych wiadomoci e-mail z wykorzystaniem Outlooka .............577
Dziaania z obiektami danych ActiveX (ADO) ...................................................................579
Wysyanie wiadomoci e-mail z zacznikami z poziomu Excela ......................................581
Zastosowanie metody SendKeys .........................................................................................582
3 & ##& 9
+*+
Czym s dodatki?.................................................................................................................585
Porwnanie dodatku ze standardowym skoroszytem....................................................585
Po co tworzy si dodatki?..............................................................................................586
Meneder dodatkw Excela.................................................................................................587
Tworzenie dodatkw............................................................................................................588
Przykadowy dodatek...........................................................................................................589
Konfiguracja skoroszytu dla przykadowego dodatku ..................................................589
Testowanie skoroszytu uytego do utworzenia przykadowego dodatku .....................589
Wprowadzanie opisu dla przykadowego dodatku........................................................590
Utworzenie dodatku.......................................................................................................590
Instalowanie dodatku.....................................................................................................592
Dystrybucja dodatkw...................................................................................................592
Modyfikowanie dodatku................................................................................................592
Spis treci
15
(
Paski narzdzi ......................................................................................................................609
Dziaania z paskami narzdzi ..............................................................................................609
Jak Excel zarzdza paskami narzdzi? ................................................................................610
Przechowywanie paskw narzdzi ................................................................................610
Problemy z dziaaniem paskw narzdzi.......................................................................611
Rczne dostosowywanie paskw narzdzi ..........................................................................611
Tryb dostosowywania paskw narzdzi ........................................................................612
Dystrybucja paskw narzdzi uytkownika ..................................................................615
Dziaania z kolekcj CommandBars....................................................................................617
Rodzaje paskw narzdzi ..............................................................................................617
Wywietlenie wszystkich obiektw CommandBar .......................................................617
Tworzenie paskw narzdzi ..........................................................................................618
Odwoywanie si do paskw narzdzi w VBA .............................................................619
Usuwanie paska narzdzi za pomoc kodu VBA..........................................................620
Waciwoci paskw narzdzi .......................................................................................620
Odwoywanie si do kontrolek na pasku narzdzi ........................................................625
Wyszczeglnienie kontrolek na pasku narzdzi............................................................626
Wywietlanie wszystkich kontrolek na wszystkich paskach narzdzi ..........................627
Dodawanie kontrolki na pasku narzdzi........................................................................628
Usuwanie kontrolki z paska narzdzi ............................................................................628
Waciwoci kontrolek paskw narzdzi.......................................................................629
3 & &
(
Pasek menu w Excelu ..........................................................................................................639
Modyfikowanie menu Excela przez uytkownika...............................................................640
Pojcia zwizane z systemem menu Excela ..................................................................640
Usuwanie elementw menu Excela...............................................................................641
Dodawanie elementw menu Excela.............................................................................641
Modyfikacja elementw menu Excela ..........................................................................642
Wykorzystanie jzyka VBA do dostosowywania menu w Excelu......................................642
Wywietlanie informacji o menu Excela.......................................................................643
Dodawanie nowego menu na pasku menu ....................................................................644
Usuwanie menu z paska menu.......................................................................................646
Dodawanie pozycji menu ..............................................................................................647
16
)
3 & # 9.#.-5
((/
Dlaczego naley tworzy systemy pomocy w aplikacjach? ................................................667
Systemy pomocy wykorzystujce komponenty Excela.......................................................668
Wykorzystanie komentarzy w celu tworzenia systemw pomocy................................668
Wykorzystanie pl tekstowych w celu utworzenia systemu pomocy ...........................670
Wykorzystanie arkusza do wywietlania tekstu pomocy ..............................................670
Wywietlanie pomocy w oknie UserForm ....................................................................671
Wykorzystanie asystenta pakietu Office do wywietlania pomocy ..............................674
Symulacja waciwoci Co to jest? za pomoc formularza UserForm ................................676
Wykorzystanie systemu HTML Help ..................................................................................677
Powizanie pliku pomocy z aplikacj..................................................................................678
Wizanie tematw pomocy z funkcjami VBA ....................................................................679
Inne sposoby wywietlania plikw pomocy HTML Help ...................................................680
Wykorzystanie metody Help .........................................................................................680
Wywietlanie pomocy z okna informacyjnego .............................................................680
Wywietlanie pomocy z okna InputBox........................................................................681
+
3 & .-#":#&
(*
Co to jest aplikacja user-oriented?.......................................................................................683
Przykadowa aplikacja Kreator amortyzacji poyczek ...................................................683
Obsuga Kreatora amortyzacji poyczek.......................................................................683
Struktura skoroszytu Kreatora amortyzacji poyczek ...................................................685
Jak dziaa Kreator amortyzacji poyczek? ....................................................................686
Potencjalne usprawnienia Kreatora amortyzacji poyczek ...........................................690
Wskazwki dotyczce projektowania aplikacji ...................................................................690
%
.
01"
(
% #"&;
(+
Co to jest zgodno? ............................................................................................................695
Rodzaje problemw zgodnoci ............................................................................................696
Obsugiwane formaty plikw Excela...................................................................................697
Kiedy trzeba unika nowych waciwoci? .........................................................................698
Czy aplikacja bdzie dziaa na komputerach Macintosh?..................................................698
Tworzenie aplikacji dla wielu wersji narodowych ..............................................................699
Aplikacje obsugujce wiele jzykw ...........................................................................701
Obsuga jzyka w kodzie VBA .....................................................................................702
Wykorzystanie waciwoci lokalnych..........................................................................702
Identyfikacja ustawie systemu.....................................................................................703
Ustawienia daty i godziny .............................................................................................705
Spis treci
17
/
. - &.5#&#& .01
//
Wykonywanie popularnych operacji na plikach..................................................................707
Wykorzystanie polece jzyka VBA do wykonywania operacji na plikach.................707
Wykorzystanie obiektu FileSearch................................................................................710
Wykorzystanie obiektu FileSystemObject ....................................................................711
Wyszukiwanie plikw zawierajcych okrelony tekst ..................................................713
Operacje z plikami tekstowymi ...........................................................................................714
Otwieranie plikw tekstowych ......................................................................................714
Czytanie plikw tekstowych..........................................................................................715
Zapisywanie danych do plikw tekstowych..................................................................716
Uzyskanie numeru pliku................................................................................................716
Okrelanie lub ustawianie pozycji w pliku....................................................................716
Instrukcje pozwalajce na odczytywanie i zapisywanie plikw ...................................716
Przykady wykonywania operacji na plikach ......................................................................717
Importowanie danych z pliku tekstowego .....................................................................717
Eksportowanie zakresu do pliku tekstowego.................................................................718
Importowanie pliku tekstowego do zakresu ..................................................................719
Rejestrowanie wykorzystania Excela ............................................................................720
Filtrowanie pliku tekstowego ........................................................................................721
Importowanie wicej ni 256 kolumn danych do skoroszytu .......................................721
Eksportowanie zakresu do pliku HTML .......................................................................723
Eksportowanie zakresu do pliku XLM..........................................................................726
*
. - &.& &5-#01
/
Podstawowe informacje o rodowisku IDE.........................................................................729
Model obiektw rodowiska IDE ........................................................................................730
Kolekcja VBProjects .....................................................................................................731
Wywietlanie wszystkich komponentw projektu VBA .....................................................733
Zastpowanie moduu uaktualnion wersj .........................................................................734
Wykorzystanie jzyka VBA do generowania kodu VBA....................................................736
Wykorzystywanie kodu VBA do umieszczenia kontrolek w formularzu UserForm
w fazie projektowania.......................................................................................................738
Operacje z formularzami UserForm w fazie projektowania i wykonania.....................738
Dodanie 100 przyciskw CommandButton w fazie projektowania ..............................739
Programowe tworzenie formularzy UserForm ....................................................................741
Prosty przykad formularza UserForm ..........................................................................741
Skomplikowany przykad dynamicznego formularza UserForm..................................743
<#
/)
Czym jest modu klasy? .......................................................................................................749
Przykad: utworzenie klasy NumLock.................................................................................750
Wstawianie moduu klasy..............................................................................................750
Dodawanie kodu VBA do moduu klasy.......................................................................751
Wykorzystanie klasy NumLock ....................................................................................753
Dodatkowe informacje na temat moduw klas ..................................................................754
Nadawanie nazwy klasie obiektw................................................................................754
Programowanie waciwoci obiektw .........................................................................754
Programowanie metod obiektw ...................................................................................756
Zdarzenia definiowane w module klasy ........................................................................757
Przykad: klasa CSVFileClass .............................................................................................757
Zmienne poziomu moduu dla klasy CSVFileClass......................................................757
Definicje waciwoci klasy CSVFileClass...................................................................758
Definicje metod klasy CSVFileClass ............................................................................758
Wykorzystanie obiektw CSVFileClass .......................................................................760
18
,& .#&& ."&
/(
Pytania dotyczce Excela.....................................................................................................764
Pytania dotyczce edytora Visual Basic ..............................................................................768
Pytania dotyczce procedur .................................................................................................771
Pytania dotyczce funkcji ....................................................................................................776
Pytania dotyczce obiektw, waciwoci, metod i zdarze................................................779
Pytania dotyczce formularzy UserForm ............................................................................788
Pytania dotyczce dodatkw................................................................................................793
Pytania dotyczce paskw polece......................................................................................795
2
11
= 2%#&& #
*
Pomoc techniczna Microsoftu .............................................................................................801
Opcje pomocy technicznej.............................................................................................801
Baza wiedzy firmy Microsoft ........................................................................................802
Macierzysta strona programu Microsoft Excel .............................................................802
Narzdzia pakietu Microsoft Office w internecie..........................................................802
Internetowe grupy dyskusyjne .............................................................................................802
Grupy dyskusyjne powicone arkuszom kalkulacyjnym.............................................803
Grupy dyskusyjne Microsoftu .......................................................................................803
Wyszukiwanie informacji w grupach dyskusyjnych .....................................................804
Witryny WWW....................................................................................................................805
Strona Spreadsheet ........................................................................................................805
Pearson Software Consulting.........................................................................................805
Strona o Excelu Stephena Bullena.................................................................................805
Strony o Excelu Davida McRitchie ...............................................................................806
Strona o Excelu Jona Peltiera ........................................................................................806
Mr. Excel .......................................................................................................................806
Najczciej zadawane pytania .......................................................................................806
= 1
*/
Wywoywanie funkcji Excela w instrukcjach VBA ............................................................810
*/
= = 2;?.##,=@<
*
Wymagania systemowe .......................................................................................................821
Korzystanie z pyty CD-ROM w systemie Windows..........................................................821
Co znajduje si na pycie CD-ROM ....................................................................................822
Materiay utworzone przez autora tej ksiki................................................................822
Aplikacje........................................................................................................................834
Rozwizywanie problemw.................................................................................................835
* /
Rozdzia 17.
Wedug niektrych uytkownikw Excela tabele przestawne s jego najbardziej innowacyjn i oferujc najwiksze moliwoci waciwoci. Jest to take unikatowa cecha
Excela (aden inny arkusz kalkulacyjny ni nie dysponuje). Po raz pierwszy pojawia
si w Excelu 5.
Ten rozdzia nie jest wprowadzeniem w tematyk tabel przestawnych. Zakadam, e
czytelnicy znaj t waciwo i potrafi rcznie tworzy i modyfikowa tabele. Jak
wiadomo, utworzenie tabeli przestawnej na podstawie danych z bazy danych lub listy
umoliwia wykonywanie podsumowa danych w sposb, ktry bez ich zastosowania
nie byby moliwy. Poza tym jest to sposb niezwykle szybki. Dodatkowo tabele przestawne mona tworzy i modyfikowa za pomoc kodu w jzyku VBA.
Tabele przestawne Excela znacznie ulepszono w Excelu 2000. Wykorzystano tam
wydajniejsze metody buforowania danych, a take wprowadzono obsug wykresw
powizanych z tabelami przestawnymi. Z tego powodu pewna cz materiau
zawartego w niniejszym rozdziale nie dotyczy Excela 97 lub wersji wczeniejszych.
W tym podrozdziale zaprezentowano prosty przykad wykorzystania jzyka VBA w celu
utworzenia tabeli przestawnej. Baza danych, pokazana na rysunku 17.1, zawiera cztery
pola: ,
,
i . Kady rekord opisuje wielko sprzeday
jednego reprezentanta handlowego w okrelonym miesicu.
Na rysunku 17.2 pokazano tabel przestawn utworzon na podstawie danych. Wykonuje ona podsumowania sprzeday wedug reprezentantw handlowych oraz miesicy.
Zawiera nastpujce pola:
pole strony w tabeli przestawnej;
pole wiersza w tabeli przestawnej;
pole kolumny w tabeli przestawnej;
pole danych w tabeli przestawnej, w ktrym wykorzystano funkcj .
472
Z tej prostej bazy
danych atwo mona
utworzy tabel
przestawn
Tabela przestawna
utworzona
na podstawie danych
zamieszczonych
na rysunku 17.1
/,
"!
/,
"" %
%
'-$
5
#
6 )*
5
#
)
473
7#"
"" %
%
'-$
5
#'8#
6 )*
5
#
)
7#"
"" %
%
'-$
5
#9
6 )*
!
5
#
)
7#"
" %
%
'-$
##+5
#" %
%
'-$
5
#'-#:,-'-#:,*
7#
Kod wygenerowany przez rejestrator makr zaley od sposobu, w jaki utworzylimy tabel przestawn. W przykadzie utworzyem tabel przestawn, ktra bya pusta, dopki
nie przecignem pola z paska narzdzi Tabela przestawna. Alternatywn metod jest
kliknicie przycisku Ukad w drugim kroku kreatora Tabela przestawna i zdefiniowanie
ukadu tabeli przestawnej przed jej utworzeniem.
Mona oczywicie wykona zarejestrowane makro, co spowoduje utworzenie kolejnej,
identycznej tabeli przestawnej.
Kod jzyka VBA dotyczcy dziaa z tabelami przestawnymi moe si wydawa niejasny.
Aby zarejestrowane makro nabrao sensu, trzeba pozna kilka obiektw (opis kadego
z nich znajduje si w pomocy online):
zbir obiektw
obiektu ;
zbir obiektw
obiektu
;
zbir pl obiektu
;
!
zbir danych dla pola okrelonej kategorii;
metoda obiektu
tworzca tabel przestawn
474
Lepszy sposb generowania tabeli przestawnej za pomoc kodu VBA
! %
+ %!" !"
+ % %
%!") !"##$
%&'()*
+,$
+()! ##
%) %!"! %
$
%
+ (),$
%
1()%
'-
" %
5
# 6 )*
5
#
5
#96 )*
!
5
#
5
#'8#
6 )*
5
#
5
#'-#:6 )*
+5
#
7#"
7#
Procedur
uproszczono (co moe przyczyni si do zwikszenia jej
przejrzystoci), deklarujc tylko dwie zmienne obiektowe: oraz . Zastpuj
one indeksowane odwoania do pl
"
oraz
"
#
. Nowy obiekt
tworzy si za pomoc metody , a nowy obiekt
za pomoc metody
obiektu
. W ostatniej sekcji
kodu nastpuje dodanie pl do tabeli przestawnej i okrelenie lokalizacji wewntrz niej
(pola strony, kolumny, wiersza i danych).
W pierwotnie wygenerowanym makrze znajdowa si zakodowany na twardo zakres
danych sucy do utworzenia obiektu
(tzn. $%
&'&&(&)*$). W procedurze
tabela przestawna jest tworzona na podstawie biecego regionu otaczajcego komrk &. Dziki temu zyskujemy pewno, e makro bdzie
dziaa poprawnie po wprowadzeniu dodatkowych danych.
Kod byby bardziej uniwersalny, gdyby w zbiorze 5
# zastosowano indeksy
zamiast literaw. W ten sposb makro dziaaoby nawet wtedy, gdy uytkownik
zmieniby nagwki kolumn. Na przykad bardziej uniwersalny kod zawieraby odwoanie
5
# zamiast 5
# . Kod zastosowany w pokazanym
przykadzie najlepiej pasuje do sytuacji, kiedy ukad kolumn nie bdzie si zmienia.
Najlepszym sposobem poznania potrzebnych obiektw, metod i waciwoci jest jak zwykle
zarejestrowanie wykonywanych dziaa w makrze. Nastpnie warto przestudiowa tematy
pomocy online, aby zrozumie sposb uycia poszczeglnych elementw. Niemal w kadym przypadku zarejestrowane makra wymagaj modyfikacji. Mona te napisa kod od
pocztku, bez wykorzystywania rejestratora makr, ale to wymaga pewnego dowiadczenia.
W tym podrozdziale zaprezentuj kod VBA tworzcy stosunkowo zoon tabel przestawn.
475
Na rysunku 17.3 zaprezentowano fragment bazy danych w arkuszu, zbudowanej z 15 840
wierszy zawierajcych hierarchiczne dane budetowe firmy. Korporacja skada si z 5
oddziaw, a kady oddzia z 11 wydziaw. W kadym wydziale s cztery kategorie
budetowe, a kada kategoria zawiera po kilka pozycji. Kwoty budetu oraz rzeczywicie
wydane rodki s zapisane dla kadego z 12 miesicy.
Dane z tego
skoroszytu bd
zestawione w tabeli
przestawnej
Na rysunku 17.4. pokazano tabel przestawn utworzon na podstawie zaprezentowanych wyej danych. Warto zwrci uwag, e tabela przestawna zawiera obliczane pole
+,
oraz cztery obliczane pola -.&, -./, -.) i -.*, zawierajce podsumowania
dla poszczeglnych kwartaw.
Kod VBA z listingu 17.2 tworzy tabel przestawn.
Tworzenie tabeli przestawnej dla wielu oddziaw
! %
+ %!" !"
+ % %
''
;'#)5
476
Tabela przestawna
utworzona
na podstawie danych
z rysunku 17.3
;<--%
-,=
67 1*
''
+'
&
)5
"-%
-+
67 > % 4
''
+'
&
)%
; -2
'-
%!") !"##$
%&'()*
+,$
+()! ##
+ # -
"##
"1)-%
-
; -
'-' #2
%) %!"! %
$
%
+ ()"-%
-,$
%
1()%
-?#:
" %
+ #'@
5
#A+BC6 )*
5
#
5
#B7BD!6 )*
! E5
#
5
#6++BC6 )*
5
#
5
#?;+F7%6 )*
+5
#
5
#7!AB%7A+%GB6 )*
+5
#
+ #'
H:9 #
- #"&
!
#5
###6#"&
,)?;+F7%I7!AB%7A+%GB
5
#6#"&
6 )*
+5
#
477
+ #'@
-&"
5
#B7BD!!
#B##$
G
,)&JEJ
5
#B7BD!!
#B##$
GK,)GJJ!-
5
#B7BD!!
#B##$
G/,)E'JJ-
5
#B7BD!!
#B##$
G0,) LJEJ>
-
-&"' -&
5
#B7BD! BG
5
#B7BD! BGK
5
#B7BD! BG/
5
#B7BD! BG0
)0
)M
)K
)N
!
Procedura
z listingu 17.2 najpierw usuwa arkusz %
#
.0, jeeli taki wczeniej istnia. Nastpnie tworzy obiekt
, wstawia nowy
arkusz o nazwie %
.0 i w kocu tworzy tabel przestawn. Do tabeli
przestawnej dodawane s nastpujce pola:
,
1 pole wiersza;
pole kolumny;
+
1 pole strony;
2% pole danych;
,.
3.,
pole danych.
478
W poprzednim przykadzie rdem danych by arkusz. Jak wiadomo, Excel umoliwia
wykorzystanie zewntrznych rde danych do tworzenia tabel przestawnych. Przykad
zaprezentowany w tym podrozdziale demonstruje kod VBA potrzebny do utworzenia
tabeli przestawnej na podstawie danych zapisanych w bazie danych Access.
Baza danych Accessa zawiera pojedyncz tabel, w ktrej umieszczono te same
dane, ktrych uyto w poprzednim przykadzie.
Kod z listingu 17.3 tworzy tabel przestawn. Zaoono, e plik bazy danych budet.
mdb jest zapisany w tym samym katalogu, co arkusz.
Generowanie tabeli przestawnej na podstawie danych z zewntrznej bazy danych
! %
5 +?
+ %!" !"
+ % %
++?5
+!
+O&
;<- -,:
67 1*
''
+'
&
)5
" -+
67 > % 4
; -2
'-
%!") !"##$
%&'()*
7*
P:# '
-&#&"
+?5
)%" "QR#:#
CS"' H9-
! )6+?!(+1)+T+?O)Q+?5
'&
O&)7E7!%U56?;+F7%
" %!"
! )!
! #%*)O&
7#"
+ #-
"##
"1) -
; -
'-
%) %!"! %
$
479
%
+ ()" -,$
%
1()?#: -
" %
+ #'@
5
#A+BC6 )*
5
#
5
#B7BD!6 )*
! E5
#
5
#6++BC6 )*
5
#
5
#?;+F7%6 )*
+5
#
5
#7!AB%7A+%GB6 )*
+5
#
7#"
7#
W tym przykadzie acuch poczenia okrela rdo danych ODBC, ktrym jest plik
Accessa o nazwie budet.mdb. acuch zapytania okrela w tym przypadku ca tabel
2785. Informacje te s przekazywane do obiektu
poprzez ustawienie waciwoci
oraz !!;. Po zapisaniu danych w buforze tabeli przestawnej
nastpuje utworzenie tabeli za pomoc metody
.
SQL jest standardowym jzykiem sucym do tworzenia zapyta do bazy danych.
Wicej informacji mona uzyska w pomocy online. Warto rwnie zakupi ksik
powicon temu jzykowi, co pozwoli pozna go dokadniej.
W ostatnim przykadzie utworzymy kilka tabel przestawnych, ktre bd zawieray
podsumowania danych pobranych z ankiety wypenianej przez klientw. Dane s zapisane
w bazie danych w arkuszu (rysunek 17.5) zoonej ze 100 wierszy. Kady wiersz zawiera
dane o pci respondenta oraz odpowied od 1 do 5 dla kadej z 14 pozycji ankiety.
Na rysunku 17.6 pokazano kilka tabel przestawnych. Dla kadej pozycji ankiety utworzono
dwie tabele przestawne jedna wywietla dane w procentach, druga rzeczywiste wartoci.
Kod VBA z listingu 17.4 tworzy te tabele.
Tworzenie wielu tabel przestawnych na podstawie danych ze zoonej zewntrznej bazy
danych
%
%' # -&KM
'-&"
+ %!" !"
+ % %
480
Wyniki ankiety
bd podsumowane
w kilku tabelach
przestawnych
Tabele przestawne utworzone za pomoc procedury VBA
+&" "
+B1
+ B,B
''
;'#)5
;<- # ,:
67 1*
''
+'
&
)5
" # +
67 > % 4
+ #- #
&") "##
"1) #
; -2
'-
%!") !"##$
%&'()*
+,$
+()"+&$
! ##
)
5 )% 0
B1)"+&!
,JK
; -
'-
%) %!"! %
$
%
+ ()&"!
,N,$
%
1()B1
) J
+ #'@
" % 5
#B1
6 )*
+5
#
1)E- #' #-
5 )*
!
7#"
%##5
# 5
#()&B1,+
% 5
# HV6 )*
!
5
#
1*
)
5 )% 0
B1)"+&!
,JK
; -
'-
%) %!"! %
$
%
+ ()&"!
,,$
%
1()B1QK
) J
" % 5
#B1
6 )*
+5
#
1)
5 )*
!
481
482
!
)*
62!
7#"
%##5
# 5
#()&B1,+
% 5
# HV6 )*
!
5
#
1*
- ' &
&"
"(,5(5
'
,G &-<-#-
'
K,1-#-<
'
/,W-#&# &
'
0,#-<
'
X,!H <-#-
7#"
& - =
!
(B7!
5
7#
483
Tabela przestawna zawiera cztery dodatkowe pola obliczane (-., -./, -.) i -.*), ktre
su do obliczania podsumowa kwartalnych. Kod wykonywany w przypadku zaznaczenia pierwszej wartoci przecznika (Tylko miesice) pokazuje listing 17.5. Procedura
jest prosta, przypomina procedury obsugi zdarze dla innych przecznikw.
Modyfikacja tabeli przestawnej
6' ? $!
%&
9
''
;'#)5
"" %
5
#9
B&3
)%
BE3
)%
B3
)%
BG3
)%
B3
)%
B!-3
)%
BE'3
)%
B3
)%
B-3
)%
B L3
)%
BE3
)%
B>3
)%
BG3
)5
BGK3
)5
BG/3
)5
BG03
)5
7#"
7#