VBA dla Excela 2002 2003 Leksykon kieszonkowy vba3lk


IDZ DO
IDZ DO
PRZYKŁADOWY ROZDZIAŁ
PRZYKŁADOWY ROZDZIAŁ
VBA dla Excela 2002/2003.
SPIS TRE CI
SPIS TRE CI
Leksykon kieszonkowy
KATALOG KSIĄŻEK
KATALOG KSIĄŻEK
Autor: Mirosław Lewandowski
ISBN: 83-7361-377-3
KATALOG ONLINE
KATALOG ONLINE
Format: B6, stron: 144
ZAMÓW DRUKOWANY KATALOG
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
TWÓJ KOSZYK
Ta niewielka rozmiarami książka jest niezwykle cenną pomocą dla osób, które chcą
DODAJ DO KOSZYKA
DODAJ DO KOSZYKA
bez wgłębiania się w niuanse Visual Basic for Applications tworzyć ad hoc skrypty
w tym języku, rozszerzając możliwo ci programu Microsoft Excel.
W zwięzłej i skondensowanej formie znajdziesz tu wybrane, najważniejsze informacje
CENNIK I INFORMACJE
CENNIK I INFORMACJE
o programowaniu w VBA i dziesiątki drobnych wskazówek, które pomogą Ci osiągnąć
cele, które sobie postawiłe . Nie zawsze trzeba sięgać po podręcznik wyja niający
ZAMÓW INFORMACJE
ZAMÓW INFORMACJE
wszystko od podstaw. Jeżeli nie czujesz takiej potrzeby, wystarczy Ci książka, którą
O NOWO CIACH
O NOWO CIACH
wła nie trzymasz w ręku.
ZAMÓW CENNIK Omówiono między innymi
ZAMÓW CENNIK
" Stałe, zmienne i tablice w VBA
" Obiekty i metody; w tym wybrane obiekty MS Office
CZYTELNIA
CZYTELNIA
" Funkcje Visual Basica
" Interakcję programów z użytkownikiem
FRAGMENTY KSIĄŻEK ONLINE
FRAGMENTY KSIĄŻEK ONLINE
" Instrukcje Visual Basica
" Obsługę błędów w VBA
" Procedury zdarzeniowe dla obiektów Excela
" Formularze i związane z nimi procedury
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treści
Wstęp .........................................................................................5
Rzdział 1. Stałe, zmienne i tablice ....................................6
Deklar>wanie zmiennych i stalych .........................................................6
Deklar>wanie pr>cedur i tablic ...............................................................8
Typy zmiennych.......................................................................................10
źpcje m>dulu ...........................................................................................13
K>nwersja typów danych .......................................................................15
Rzdział 2. Obiekty i metdy.............................................21
Met>dy.......................................................................................................22
Przeglądarka >biektów............................................................................53
źbiekty ......................................................................................................56
Rzdział 3. Elementy Visual Basica ...................................77
unkcje i >perat>ry matematyczne .......................................................77
Data i czas .................................................................................................82
Interakcja z użytk>wnikiem ...................................................................90
źperacje na lańcuchach...........................................................................93
Pętle i sk>ki.............................................................................................100
Instrukcje warunk>we i wyb>ru..........................................................103
Przerwanie pr>gramu ...........................................................................107
unkcje inf>rmacyjne ............................................................................108
Blędy ........................................................................................................112
Rzdział 4. Prcedury zdarzeniwe ................................115
Pr>cedury zdarzeni>we dla >biektu W>rksheet...............................115
Pr>cedury zdarzeni>we dla >biektu ThisW>rkb>>k........................117
Zdarzenia dla innych >biektów ...........................................................123
Rzdział 5. Frmularze ......................................................124
Pr>cedury zdarzeni>we f>rmantów ...................................................124
Skrwidz .............................................................................137
Spis treści 3
Rzdział 3. Elementy Visual Basica
Funkcje i operatory matematyczne
Funkcje trygonometryczne
Dż wybżru mamy funkcje:
"  ęrcus tangens,
"  Cżsinus,
"  Sinus,
"  Tangens.
Skladnia wszystkich jest taka sama:

ęby żtrzymać wartżść funkcji cżtangens, należy zastżsżwać fun-
kcję 1/Tan.
Wartżść Pi mżżesz żbliczyć na dwa spżsżby:
" w VBę jakż ęrcusTangens:

" lub kżrzystając z funkcji arkuszżwej :

Exp i Log
Lżg zwraca wartżść lżgarytmu naturalnegż danej liczby. Pżd-
stawą lżgarytmów naturalnych jest stala e=2,71828182845904.
jest żdwrżtnżścią funkcji L  zwraca wartżść liczby e pżd-
niesiżną dż wskazanej pżtęgi.
Rozdział 3. Elementy Visual Basica 77
Skladnia:

"  wykladnik pżtęgi,
L
"  liczba rzeczywista dżdatnia, której lżgarytm należy
żbliczyć.
Sqr
Zwraca pierwiastek kwadratżwy pżdanegż argumentu.
Skladnia:

"  liczba rzeczywista większa żd 0.
Randomize, i Rnd
sluży dż zainicjżwania generatżra liczb lżsżwych.
Skladnia:

"  argument żpcjżnalny  wartżść pżczątkżwa dż żb-
liczenia zbiżru liczb pseudżlżsżwych. Jeżeli gż pżminiesz,
zżstanie żn ustalżny na pżdstawie wskazań zegara syste-
mżwegż, cż dżdatkżwż kżrzystnie wplynie na lżsżwane
liczby.
generuje liczbę lżsżwą z zakresu żd 0 dż <1.
Skladnia:

78 VBA dla Excela 2002/2003. Leksykon kieszonkowy
"  argument żpcjżnalny;
" jeżeli = 0, funkcja zwróci żstatniż wygenerżwaną
liczbę;
" jeżeli <0, funkcja za każdym razem zwróci tę samą,
raz wygenerżwaną wartżść;
" jeżeli pżminiesz argument lub >0, funkcja zwróci
kżlejną liczbę ze zbiżru liczb lżsżwych.
Wartżść argumentów i nie ma znaczenia, jeżeli zależy
Ci na lżsżwym generżwaniu liczb. Jednakże za ich pżmżcą mż-
żesz wplynąć na pżwtórzenie generżwania tegż samegż zestawu.
Jeśli więc chcesz, aby liczby lżsżwe zaczęly pżwtarzać się w tej
samej kżlejnżści przed zainicjżwaniem generatżra, wywżlaj funk-
cję z parametrem ujemnym, a następnie zainicjuj generatżr liczb
lżsżwych. Wyjaśni tż pżniższy przyklad:














W przykladzie żtrzymamy dwie kżlumny z wygenerżwanymi
lżsżwż liczbami z zakresu 0 dż 1. Lżsżwż, lecz w tej samej kż-
lejnżści.
Rozdział 3. Elementy Visual Basica 79
bs
źblicza wartżść bezwzględną (mżdul) pżdanej liczby, czyli żd-
cina znak minus, jeżeli występuje.
Skladnia:

"  dżwżlna liczba rzeczywista.
Sgn
Zwraca wartżść w zależnżści żd znaku pżdanegż argumentu.
Skladnia:

"  dżwżlna liczba rzeczywista.
unkcja zwraca następujące wartżści:
 gdy argument jest mniejszy żd zerż,
 gdy argument jest równy zerż,
 gdy argument jest większy żd zerż.
Fix, Int
Zwracają część calkżwitą argumentu.
Skladnia:


"  dżwżlna liczba rzeczywista.
W zakresie liczb dżdatnich funkcje żdcinają część ulamkżwą ar-
gumentu. Różnice w dzialaniu są widżczne pżdczas dzialań na
80 VBA dla Excela 2002/2003. Leksykon kieszonkowy
liczbach ujemnych. zażkrągla argument w dól, pżdczas gdy
 w górę.
Przyklad:

Da wynik 3

Da wynik 3

Da wynik  4

Da wynik  3
Operatory matematyczne
Znak Opis Składnia  przykład użycia

Znak potęgowania wynik = iiczba^wykładnik

Znaki odejmowania i dodawania wynik = składnik + składnik

Znaki mnożenia i dzieienia wynik = dzieina/dzieinik

Zwraca część całkowitą z wyniku wynik = dzieina\dzieinik
dzieienia. Dodatkowo dzieina i dzieinik
przed wykonaniem obiiczeń zostaną
pozbawione części ułamkowej

Zwraca resztę z dzieienia reszta = dzieina Mod dzieinik

Służy do łączenia dwóch ciągów znaków wynik =  łańcuch1 & łańcuch2
Round
Zwraca liczbę zażkrąglżną dż zadanej dżkladnżści.
Skladnia:

"  wymagany  dżwżlna liczba rzeczywista pżd-
dana zażkrągleniu;
"  żpcjżnalny  wskazuje, z jaką dżkladnżścią
(dż ilu miejsc pż przecinku) należy zażkrąglić liczbę. Jeżeli
pżminiesz ten parametr, funkcja zwróci liczbę calkżwitą.
Rozdział 3. Elementy Visual Basica 81
Data i czas
Hour, Minute, Second
unkcje zwracają gżdzinę, minutę lub sekundę z pżdanegż ar-
gumentu. ęrgumentem mżże być liczba w pżstaci dziesiętnej lub
w fżrmacie czasu.
Przyklad:


W żbu pżwyższych przypadkach funkcja zwróci liczbę 14, bżwiem
żbydwa argumenty przedstawiają tę samą gżdzinę. ęnalżgicznie:

da wynik 15. Natżmiast:

da wynik 12
Day, Month, Year
zwraca liczbę ż wartżści żd 1 dż 31 reprezentującą kżlejny
dzień miesiąca.
zwraca liczbę w zakresie żd 1 dż 12 reprezentującą miesiąc
rżku z pżdanej daty.
zwraca rżk z pżdanej daty.
Skladnia:



gdzie tż wyrażenie reprezentujące datę.
82 VBA dla Excela 2002/2003. Leksykon kieszonkowy
Weekday
unkcja zwraca wartżść liczbżwą (żd 0 dż 7) reprezentującą dzień
tygżdnia wskazanej daty.
Skladnia:

"  wymagany;
"  żpcjżnalny  wskazuje pierwszy dzień
tygżdnia.
Przyklad:
zwróci wartżść 1, jeżeli rżzpatrywany dzień będzie
pżniedzialkiem.
zwróci wartżść 1 dla śrżdy, 2 dla czwartku i tak
dalej.
Dżmyślną wartżścią parametru pierwszy jest 1 (czyli niedziela).
TimeSerial
Zwraca w wyniku czas.
Skladnia:

" , ,  wymagane  dżwżlne dżdatnie
liczby calkżwite.
Przyklad:

Da w wyniku godzinę 2:34:07
Rozdział 3. Elementy Visual Basica 83
TimeValue
Kżnwertuje ciąg znaków ż ustalżnej skladni na zmienną zawie-
rającą czas.
Przyklad:
da w wyniku zmienną typu wskazu-
jącą czas 16:35:17.
DateSerial
Zwraca w wyniku datę.
Skladnia:

" , ,  wymagane  dżwżlne liczby calkżwite.
Przyklad:

Da w wyniku datę 07.04.2000 roku

Da w wyniku datę 07.04.1999 roku

Da w wyniku datę 07.04.100 roku
Wartż stżsżwać pelny (czterżcyfrżwy) zapis rżku, aby uniknąć
pżmylek pżkazanych pżwyżej.
DateValue
Kżnwertuje ciąg znaków ż ustalżnej skladni na zmienną typu
zawierającą datę.
Przyklady:


W pżwyższych linijkach zżstanie żbliczżna data 3.02.3002 rżku.
84 VBA dla Excela 2002/2003. Leksykon kieszonkowy


Pż wykżnaniu pżwyższych pżleceń prżgram zwróci wartżść
2.03.3002 rżku.
Pżniższy zapis spżwżduje bląd:

VBę żbsluguje daty z zakresu żd 1.01.100 dż 31.12.9999 rżku i wy-
rażenia zawierające takie wartżści mżgą zżstać pżdstawiżne jakż
argument funkcji .
Datedd
Dżdaje dż pżdanej daty żkreślżny interwal czasżwy.
Skladnia:

"  wymagany  pżdaje, jaki przedzial czasżwy bę-
dzie dżdany dż daty.
Mżżliwe wartżści:

Rok

Kwartał

Miesiąc

Dzień roku

Dzień

Dzień tygodnia

Tydzień

Godzina

Minuta

Sekunda
Rozdział 3. Elementy Visual Basica 85
Na pżtrzeby funkcji parametry , , i żznaczają zawsze
dżdanie dnia dż wskazanej daty. Jednak przy innych funkcjach
daty i czasu parametry te mają już różne znaczenia.
"  wymagany  wskazuje, ile interwalów czasżwych
ma być dżdanych;
"  wymagany  data bazżwa.
Przyklad:






W wyniku dzialania pżwyższegż kżdu zmienne przyjmą nastę-
pujące wartżści:

2002-04-07 00:03

2002-04-10

2003-01-07

2002-04-28

2005-04-07
DateDiff
Zwraca różnicę między pżdanymi datami.
Skladnia:

"  wymagany  patrz funkcja ;
" ,  wymagane  daty, między którymi zżstanie
żbliczżna różnica;
86 VBA dla Excela 2002/2003. Leksykon kieszonkowy
"  żpcjżnalny  stala wskazująca pżczątek
tygżdnia. Mżżliwe są wartżści żd (niedziela) dż (sżbżta)
lub stale z kżlekcji ;
"  żpcjżnalny  stala wskazująca, w jaki spżsób
ma zżstać wskazany pierwszy tydzień rżku.
Mżżliwe wartżści:
iub
Używa ustawień systemowych
iub
Pierwszym jest tydzień zawierający dzień 1 stycznia
iub
Pierwszym jest tydzień, w którym przynajmniej cztery dni
naieżą do nowego roku
iub
Pierwszy pełny tydzień roku
DatePart
źblicza, w jakiej części interwalu czasżwegż mieści się pżdana
data.
Skladnia:

Parametry zżstaly żpisane przy funkcjach i .
Przyklad:






W wyniku dzialania pżwyższegż kżdu, zmienne przyjmą
następujące wartżści:
Rozdział 3. Elementy Visual Basica 87
1  wskazana data to niedzieia
97  wskazana data to 97. dzień roku
2  kwiecień jest w drugim kwartaie
15  wskazaną datę obejmuje 15. tydzień roku
2002  wskazaną datę obejmuje rok 2002
Date, Now, Time
" zwraca dzisiejszą datę;
" zwraca aktualny czas;
" zwraca wyrażenie w pżstaci dzisiejszej daty i aktualnegż
czasu.
Wartżści są żbliczane na pżdstawie z zegara systemżwegż.
Skladnia:



unkcje bezparametrżwe.
Timer
Wskazuje, ile sekund (wraz z ulamkami) uplynęlż żd pólnżcy.
unkcja bezparametrżwa.
Skladnia:

MonthName
Pżdaje (pż pżlsku!) nazwę miesiąca.
88 VBA dla Excela 2002/2003. Leksykon kieszonkowy
Skladnia:

"  wymagany  pżdaje numer miesiąca;
"  żpcjżnalny  jeżeli wprżwadzisz wartżść ,
tż nazwa miesiąca będzie pżdana w fżrmie skrócżnej (na
przyklad mar zamiast marzec). Dżmyślna wartżść tż .
WeekdayName
Pżdaje (pż pżlsku) nazwę dnia tygżdnia.
Skladnia:

"  wymagany  numer dnia;
"  żpcjżnalny. Patrz funkcja ;
"  żpcjżnalny  wskazuje pierwszy dzień ty-
gżdnia. Patrz funkcje i .
Calendar
Wlaściwżść, która zwraca lub ustawia rżdzaj używanegż kalen-
darza w Twżim prżjekcie.
Skladnia:

Mżżliwe są dwie wartżści parametru:
iub
Kaiendarz gregoriański
iub
Hidżra  kaiendarz księżycowy używany w krajach isiamskich
Rozdział 3. Elementy Visual Basica 89
Interakcja z użytkownikiem
MsgBox
Wyświetla żknż kżmunikatu. Mżże także slużyć dż pżbierania
danych żd użytkżwnika.
Skladnia:

"  wymagany  kżmunikat, który zżstanie wyświe-
tlżny  mżże nim być ciąg dż 1024 znaków lub zmienna;
"  żpcjżnalny  niesie infżrmację ż tym, jakie
przyciski będą wyświetlżne w żknie żraz jaki będzie typ
kżmunikatu. Z typem kżmunikatu wiąże się wyświetlana
w żknie ikżna i efekty dzwiękżwe (jeżeli użytkżwnik z nich
kżrzysta).
Wartżści przycisków żkna:
iub Wartość domyśina  tyiko przycisk OK
iub Przyciski OK i Anuluj
iub Przyciski Przerwij, Ponów próbę, Ignoruj
iub Tak, Nie, Anuluj
iub Tak, Nie
iub Ponów próbę, Anuluj
iub Dodatkowo przycisk Pomoc
Wartżści typu kżmunikatu:
iub Zatrzymanie krytyczne
iub Pytanie
iub Ostrzeżenie
iub
Informacja
90 VBA dla Excela 2002/2003. Leksykon kieszonkowy
iub
Tekst jest wyrównany do prawej
iub
Arabski układ okna (od prawej do iewej)
źdpżwiednią wartżść parametru żblicza się przez dż-
danie dż siebie wartżści stalych (mżżna pżdać skladniki rżzdzie-
lżne znakiem + lub ich sumę) albż pżdanie ich nazw rżzdzielż-
nych znakiem +.
"  żpcjżnalny  kżmunikat, który będzie widżczny
na pasku tytulu (jeżeli gż pżminiesz, zżstanie tam wyświe-
tlżna nazwa  Micrżsżft xcel );
" ,  plik pżmżcy i miejsce w nim, dż któ-
regż prżwadzić będzie lącze pż kliknięciu przycisku Pomoc.
unkcja mżże zwrócić wartżści w zależnżści żd akcji pżd-
jętej przez użytkżwnika:
iub Kiiknięto przycisk OK
iub Kiiknięto przycisk Anuluj
iub Kiiknięto przycisk Przerwij
iub Kiiknięto przycisk Ponów Próbę
iub Kiiknięto przycisk Ignoruj
iub Kiiknięto przycisk Tak
iub Kiiknięto przycisk Nie
InputBox
Wynikiem wykżnania tej funkcji jest wartżść typu wpi-
sana przez użytkżwnika w żknie dialżgżwym.
Skladnia:


Rozdział 3. Elementy Visual Basica 91
"  wymagany  parę slów zachęty dla użytkżw-
nika  będą żne wyświetlżne w żknie kżmunikatu;
"  żpcja  kżmunikat który będzie widżczny na pasku
tytulu  jeżeli gż pżminiesz, zżstanie tam wyświetlżna na-
zwa  Micrżsżft xcel ;
"  żpcja  zawiera wartżść dżmyślną wprżwa-
dzanej zmiennej  będzie wyświetlana w miejscu wprżwa-
dzania danych (jeżeli pżminiesz ten parametr, xcel nie wy-
świetli żadnej wartżści w żknie);
" ,  żpcja  wspólrzędne (w pikselach) lewegż górnegż
narżżnika żkna dialżgżwegż względem lewegż górnegż na-
rżżnika ekranu;
" ,  plik pżmżcy i miejsce w nim, dż któ-
regż prżwadzić będzie lącze pż kliknięciu przycisku Pomoc.
Przyklad:
fektem wykżnania pżniższegż kżdu będzie żknż dialżgżwe pż-
kazane na rysunku 3.1. Jeżeli użytkżwnik nie wprżwadzi żadnej
wartżści i kliknie OK, zmiennej zżstanie przypisana wartżść 2.
Jeżeli wybierze przycisk Cancel, funkcja zwróci wartżść ciągu ze-
rżwej dlugżści.

Rysunek 3.1. Okno dialogowe wyświetlone za pomocą funkcji InputBox
92 VBA dla Excela 2002/2003. Leksykon kieszonkowy
Funkcje logiczne
VBę żferuje pelną gamę żgólnie znanych żperatżrów lżgicznych:
, , , , ,
Wszystkich żprócz żperatżra mżżemy używać w taki sam
spżsób:

gdzie i tż wyrażenia, na których dżkżnuje się
żperacji.
źperatżr ma jeszcze latwiejszą skladnię:

czegż wynikiem będzie żczywiście żdwrżtnżść pżdanegż ar-
gumentu.
Rozdział 3. Elementy Visual Basica 93


Wyszukiwarka

Podobne podstrony:
VBA dla Excela 2003 2007 Leksykon kieszonkowy
VBA dla Excela 10 Leksykon kieszonkowy vbe1lk
Tworzenie makr w VBA dla Excela 20032007 Ćwiczenia
VBA dla Excela 10 PL5 praktycznych przykladow vbae10
VBA dla Excela 076 praktycznych przykladow vb27pp
VBA dla Excela 07 PL? praktycznych przykladow vbae27
Excel 03 PL Funkcje Leksykon kieszonkowy exfulk
Delphi Leksykon kieszonkowy?lplk

więcej podobnych podstron