Professional Documents
Culture Documents
PRZYKADOWY ROZDZIA
SPIS TRECI
KATALOG KSIEK
KATALOG ONLINE
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
Ta niewielka rozmiarami ksika jest niezwykle cenn pomoc dla osb, ktre chc
bez wgbiania si w niuanse Visual Basic for Applications tworzy ad hoc skrypty
w tym jzyku, rozszerzajc moliwoci programu Microsoft Excel.
W zwizej i skondensowanej formie znajdziesz tu wybrane, najwaniejsze informacje
o programowaniu w VBA i dziesitki drobnych wskazwek, ktre pomog Ci osign
cele, ktre sobie postawie. Nie zawsze trzeba siga po podrcznik wyjaniajcy
wszystko od podstaw. Jeeli nie czujesz takiej potrzeby, wystarczy Ci ksika, ktr
wanie trzymasz w rku.
Omwiono midzy innymi
Stae, zmienne i tablice w VBA
Obiekty i metody; w tym wybrane obiekty MS Office
Funkcje Visual Basica
Interakcj programw z uytkownikiem
Instrukcje Visual Basica
Obsug bdw w VBA
Procedury zdarzeniowe dla obiektw Excela
Formularze i zwizane z nimi procedury
Spis treci
Wstp .........................................................................................5
Rozdzia 1. Stae, zmienne i tablice ....................................6
Deklarowanie zmiennych i staych .........................................................6
Deklarowanie procedur i tablic ...............................................................8
Typy zmiennych.......................................................................................10
Opcje moduu ...........................................................................................13
Konwersja typw danych .......................................................................15
Skorowidz .............................................................................137
Spis treci
Exp i Log
Log zwraca warto logarytmu naturalnego danej liczby. Podstaw logarytmw naturalnych jest staa e=2,71828182845904.
jest odwrotnoci funkcji zwraca warto liczby e podniesion do wskazanej potgi.
77
Skadnia:
wykadnik potgi,
Sqr
Zwraca pierwiastek kwadratowy podanego argumentu.
Skadnia:
Randomize, i Rnd
suy do zainicjowania generatora liczb losowych.
Skadnia:
argument opcjonalny warto pocztkowa do obliczenia zbioru liczb pseudolosowych. Jeeli go pominiesz,
zostanie on ustalony na podstawie wskaza zegara systemowego, co dodatkowo korzystnie wpynie na losowane
liczby.
generuje liczb losow z zakresu od 0 do <1.
Skadnia:
78
79
Abs
Oblicza warto bezwzgldn (modu) podanej liczby, czyli odcina znak minus, jeeli wystpuje.
Skadnia:
Sgn
Zwraca warto w zalenoci od znaku podanego argumentu.
Skadnia:
&
Fix, Int
Zwracaj cz cakowit argumentu.
Skadnia:
*
-
80
Da wynik 3
Da wynik 3
Da wynik 4
Da wynik 3
Operatory matematyczne
Znak
Opis
/
01
2
3
Znak potgowania
Znaki odejmowania i dodawania
Znaki mnoenia i dzielenia
Zwraca cz cakowit z wyniku
dzielenia. Dodatkowo dzielna i dzielnik
przed wykonaniem oblicze zostan
pozbawione czci uamkowej
Zwraca reszt z dzielenia
Suy do czenia dwch cigw znakw
wynik = liczba^wykadnik
wynik = skadnik + skadnik
wynik = dzielna/dzielnik
wynik = dzielna\dzielnik
4
5
Round
Zwraca liczb zaokrglon do zadanej dokadnoci.
Skadnia:
(
81
Data i czas
Hour, Minute, Second
Funkcje zwracaj godzin, minut lub sekund z podanego argumentu. Argumentem moe by liczba w postaci dziesitnej lub
w formacie czasu.
Przykad:
&67.888887
9$:6:$
49
da wynik 12
Skadnia:
!
82
Weekday
Funkcja zwraca warto liczbow (od 0 do 7) reprezentujc dzie
tygodnia wskazanej daty.
Skadnia:
"#
(
wymagany;
opcjonalny wskazuje pierwszy dzie
tygodnia.
Przykad:
"#
($ zwrci warto 1, jeeli rozpatrywany dzie bdzie
poniedziakiem.
"#
( zwrci warto 1 dla rody, 2 dla czwartku i tak
dalej.
Domyln wartoci parametru pierwszy jest 1 (czyli niedziela).
TimeSerial
Zwraca w wyniku czas.
Skadnia:
$!
(
("
83
TimeValue
Konwertuje cig znakw o ustalonej skadni na zmienn zawierajc czas.
Przykad:
%#<=:.6:;
4= da w wyniku zmienn typu > wskazu-
jc czas 16:35:17.
DateSerial
Zwraca w wyniku dat.
Skadnia:
$# (
$(
$77((;
$&&((;
DateValue
Konwertuje cig znakw o ustalonej skadni na zmienn typu >
zawierajc dat.
Przykady:
%
$=?..&&$=
%
$=.?.&&$=
84
%
$=.$.&&$=
%
$=.($(.&&$=
VBA obsuguje daty z zakresu od 1.01.100 do 31.12.9999 roku i wyraenia zawierajce takie wartoci mog zosta podstawione jako
argument funkcji >.
DateAdd
Dodaje do podanej daty okrelony interwa czasowy.
Skadnia:
%
((
%
wymagany podaje, jaki przedzia czasowy bdzie dodany do daty.
Moliwe wartoci:
????
Rok
Kwarta
Miesic
Dzie roku
Dzie
Dzie tygodnia
Tydzie
Godzina
Minuta
Sekunda
85
Na potrzeby funkcji
parametry ?, , i oznaczaj zawsze
dodanie dnia do wskazanej daty. Jednak przy innych funkcjach
daty i czasu parametry te maj ju rne znaczenia.
wymagany wskazuje, ile interwaw czasowych
ma by dodanych;
wymagany data bazowa.
Przykad:
>$((; !?#?A&;&$&&$
B
==(.(
B$
==(.(
B.
=@=(.(
B
==(.(
B6
=????=(.(
2002-04-07 00:03
B$
2002-04-10
B.
2003-01-07
B
2002-04-28
B6
2005-04-07
DateDiff
Zwraca rnic midzy podanymi datami.
Skadnia:
&&%
((&(
(
#
%
wymagany patrz funkcja >C;
, & wymagane daty, midzy ktrymi zostanie
obliczona rnica;
86
DatePart
Oblicza, w jakiej czci interwau czasowego mieci si podana
data.
Skadnia:
'
%
((
(
#
87
B
B$
97
B.
B
15
B6
Funkcje bezparametrowe.
Timer
Wskazuje, ile sekund (wraz z uamkami) upyno od pnocy.
Funkcja bezparametrowa.
Skadnia:
!#
MonthName
Podaje (po polsku!) nazw miesica.
88
Skadnia:
(
'(" (
WeekdayName
Podaje (po polsku) nazw dnia tygodnia.
Skadnia:
"#
(
(" ((
Calendar
Waciwo, ktra zwraca lub ustawia rodzaj uywanego kalendarza w Twoim projekcie.
Skadnia:
$
89
Interakcja z uytkownikiem
MsgBox
Wywietla okno komunikatu. Moe take suy do pobierania
danych od uytkownika.
Skadnia:
* ()
(
()
)(*
wymagany komunikat, ktry zostanie wywietlony moe nim by cig do 1024 znakw lub zmienna;
)
opcjonalny niesie informacj o tym, jakie
przyciski bd wywietlone w oknie oraz jaki bdzie typ
komunikatu. Z typem komunikatu wie si wywietlana
w oknie ikona i efekty dwikowe (jeeli uytkownik z nich
korzysta).
Wartoci przyciskw okna:
DEKE? lub &
DEK' lub
DC?-+ lub $
DL)' lub .
DL) lub
D?' lub 6
D4+M*JM lub N.8
Zatrzymanie krytyczne
DO lub .$
Pytanie
D,*# lub 8
D-F# lub N
Ostrzeenie
90
Informacja
Kliknito przycisk OK
Kliknito przycisk Anuluj
Kliknito przycisk Przerwij
Kliknito przycisk Ponw Prb
Kliknito przycisk Ignoruj
Kliknito przycisk Tak
Kliknito przycisk Nie
InputBox
Wynikiem wykonania tej funkcji jest warto typu + wpisana przez uytkownika w oknie dialogowym.
Skadnia:
**
(
((+(()
)(
*
91
*
wymagany par sw zachty dla uytkownika bd one wywietlone w oknie komunikatu;
opcja komunikat ktry bdzie widoczny na pasku
tytuu jeeli go pominiesz, zostanie tam wywietlona nazwa Microsoft Excel;
opcja zawiera warto domyln wprowadzanej zmiennej bdzie wywietlana w miejscu wprowadzania danych (jeeli pominiesz ten parametr, Excel nie wywietli adnej wartoci w oknie);
+, , opcja wsprzdne (w pikselach) lewego grnego
naronika okna dialogowego wzgldem lewego grnego naronika ekranu;
)
), * plik pomocy i miejsce w nim, do ktrego prowadzi bdzie cze po klikniciu przycisku Pomoc.
Przykad:
Efektem wykonania poniszego kodu bdzie okno dialogowe pokazane na rysunku 3.1. Jeeli uytkownik nie wprowadzi adnej
wartoci i kliknie OK, zmiennej zostanie przypisana warto 2.
Jeeli wybierze przycisk Cancel, funkcja zwrci warto cigu zerowej dugoci.
-M*=P=(=4=($
92
Funkcje logiczne
VBA oferuje pen gam oglnie znanych operatorw logicznych:
(, , +, ,, -,
93