background image

W

Y

K

Ł

A

D

2

0

0

9

/2

0

1

0

2



Nazwy zmiennych w VBA. 



Typy danych. 



Deklaracje zmiennych, stałych, zasięg 
deklaracji. 



Instrukcje przypisania. 



Tablice. 



Wyrażenia i operatory. 



Operacje na tekstach. 

20

09

-1

0-

22

P

ro

gr

am

ow

an

ie

Materiały 

do wykładu 

na prawach  



Operacje na tekstach. 



Operacje logiczne. 



Relacje. 



Struktury sterujące: instrukcje 
warunkowe,  instrukcje cyklu (pętle), 
instrukcje wyboru. 



Wbudowane funkcje: komunikacja z 
użytkownikiem, konwersja typów danych. 



Obsługa błędów.

1

P

ro

gr

am

ow

an

ie

na prawach  

rękopisu

background image

20

09

-1

0-

22

N

AZWY ZMIENNYCH

/

STAŁYCH



ciągi liter i cyfr



nie powinny zawierać znaków narodowych



nie mogą zawierać znaków specjalnych: <spacja>, 
(), :, ;, itp. (dopuszczalny znak podkreślenia _)
mogą mieć dowolną długość

P

ro

gr

am

ow

an

ie



mogą mieć dowolną długość



wielkie i małe litery NIE są rozróżniane



nazwa MUSI rozpoczynać się literą



wskazane jest nadawanie nazw znaczących



Zmienne i stałe nazywamy najlepiej za pomocą 
małych liter, bez polskich znaków

2

P

ro

gr

am

ow

an

ie

background image

20

09

-1

0-

22

D

EKLAROWANIE ZMIENNYCH



Zmienna jest nazwanym obszarem 
przechowywania danych w pamięci komputera



Zmienne deklaruje się za pomocą instrukcji 

Dim

umieszczanych na początku każdej procedury 

Sub

lub 

Function

P

ro

gr

am

ow

an

ie

lub 

Function

3

P

ro

gr

am

ow

an

ie

Dim

nazwaZmiennej

Przykład: 

Dim

wiekDrzewa, wiekLasu

Styl „wielbłądzi” 

nadawania nazw 

zmiennym

background image

20

09

-1

0-

22

D

EFINIOWANIE TYPÓW DANYCH



Typ danych określa, w jakiej postaci dane 
zapisywane są w pamięci (liczby całkowite, 
rzeczywiste, łańcuchy itp.)



Należy posłużyć się typem danych, który zajmuje 
najmniejszą liczbę bajtów i obsługuje wszystkie 

P

ro

gr

am

ow

an

ie

najmniejszą liczbę bajtów i obsługuje wszystkie 
dane, które zostaną z nim powiązane – szybkość 
działania interpretera VBA zależy m. in. od liczby 
bajtów użytych przez dane.

4

P

ro

gr

am

ow

an

ie

Jawne deklarowanie zmiennych jako używających 

określonego typu danych umożliwia interpreterowi 

VBA dodatkową walidację błędów 

background image

5

P

ro

gr

am

ow

an

ie

T

YPY DANYCH



Logiczny: 

Boolean



Liczbowy:



Byte



Integer

(%)



Daty: 

Date



Znakowy: 

String

($)



Obiektowy: 

Object



Tablicowy: 

Array

20

09

-1

0-

22

P

ro

gr

am

ow

an

ie



Long

(&)



Single

(!)



Double

(#)



Currency

(@)



Decimal



Znakowy lub liczbowy: 

Variant

background image

20

09

-1

0-

22

T

YPY

D

ANYCH

Typ

Zakres wartości

Liczba 
bajtów

Byte

0-255 (2

-1)

1

Integer

-32,768 ÷ 32,767 (- 2

15

÷ 2

15 

-1)

2

Boolean

True, False

2

P

ro

gr

am

ow

an

ie

Long

- 2,147,483,648 ÷ 2,147,483,647 (- 2

31

÷ 2

31 

-1)

4

Single

±(1,5E-45 ÷ 3,4E38) 

4

Double

±(5E-324 ÷ 1,7E308)

8

Currency

-922,337,203,685,477.5808 ÷
922,337,203,685,477.5807

8

Decimal

+/- 79,228,162,514,264,337,593,543,950,335 
(bez części dziesiętnej
+/- 7.9228162514264337593543950335 
( z 28 miejscami po przecinku)

14

6

P

ro

gr

am

ow

an

ie

background image

20

09

-1

0-

22

T

YPY

D

ANYCH

Typ

Zakres wartości

Liczba 
bajtów

Date

1 stycznia 0100 ÷ 31 grudnia 9999

8

Object

Dowolne odwołanie do obiektu

4

String

0 ÷ ok. 2mld  (zmienna dłg.)

10 bajtów

P

ro

gr

am

ow

an

ie

String

0 ÷ ok. 2mld  (zmienna dłg.)
0 ÷ ok. 65,400 (stała dłg.)

10 bajtów

+ długość 

łańcucha

Variant

Dowolna wartość numeryczna mniejsza od 
maksymalnej wartości zakresu typu danych 
Double

16

Currency

-922,337,203,685,477.5808 ÷
922,337,203,685,477.5807

10 bajty

+ długość 

łańcucha

7

P

ro

gr

am

ow

an

ie

background image

20

09

-1

0-

22

D

EKLAROWANIE TYPU ZMIENNYCH

/

STAŁYCH



Typ danych ustala się przez uwzględnienie słowa 
kluczowego 

As

w instrukcji 

Dim

/

Const

P

ro

gr

am

ow

an

ie

Dim

nazwaZmiennej

As TypDanych

Const

nazwaStałej

As TypDanych

= wartość 

Przykład: 

8

P

ro

gr

am

ow

an

ie

Przykład: 

Dim

wiekDrzewa

As Integer

Const

wiekLasu

As Integer

= 150 



Jeśli przy deklarowaniu zmiennej nie określi się typu 
danych, interpreter VBA przypisze jej typ 

Variant



Aby wymusić deklarowanie wszystkich używanych 
zmiennych, w module VBA w pierwszym wierszu 
należy zastosować instrukcję 

Option Explicit

background image

20

09

-1

0-

22

D

EKLAROWANIE TYPU ZMIENNYCH



Typ danych dla argumentu procedury z listy 
argumentów ustala się przez uwzględnienie słowa 
kluczowego 

As

w instrukcji 

Function

:

P

ro

gr

am

ow

an

ie

Function

WynikFinansowy( przychody 

As Currency

wydatki 

As Currency

)

9

P

ro

gr

am

ow

an

ie

wydatki 

As Currency

)

Typ danych dla wartości zwracanej przez procedurę 

Function

ustala się przez uwzględnienie słowa 

kluczowego 

As

w instrukcji 

Function

:

Function

WynikFinansowy( przychody, wydatki ) 

As 

Currency

background image

20

09

-1

0-

22

Z

ASIĘG ZMIENNYCH



Zasięgiem zmiennej określa się moduły i procedury, w 

których można je zastosować



Zasięg zmiennych/stałych:



Zmienna lokalna –

Dim

– widoczna tylko w danej procedurze



Zmienna prywatna –

Dim

lub

Private

przed pierwszą 

P

ro

gr

am

ow

an

ie



Zmienna prywatna –

Dim

lub

Private

przed pierwszą 

procedurą w module – widoczna w całym module



Zmienna publiczna (globalna) –

Public 

przed 

pierwszą procedurą w module – widoczna w różnych 

modułach



Zmienne statyczne –

Static

- nie tracą wartości po 

wyjściu z procedury, lecz nadal mają wartość, którą 

miały w chwili zakończenia procedury (chyba że 

procedura zostanie zakończona instrukcją 

End

)

10

P

ro

gr

am

ow

an

ie

background image

20

09

-1

0-

22

Z

MIENNE OBIEKTOWE



Deklaracja:

Dim

nazwa 

As Object



Zmienne odwołują się do lokalizacji danych, 
a nie do ich wartości



Zmiennej należy przypisać konkretny obiekt:

P

ro

gr

am

ow

an

ie



Zmiennej należy przypisać konkretny obiekt:

Set

nazwa = wartość_wskazywana



Przykład:

Dim

vObiekt

As Range

Set

vObiekt = Worksheets(”Arkusz1”).Range("A1:C2")



Anulowanie zmiennej obiektowej: 

Set

zmienna = Nothing

11

P

ro

gr

am

ow

an

ie

background image

20

09

-1

0-

22

O

DWOŁYWANIE SIĘ DO OBIEKTÓW



Specyfikacja „ścieżki dostępu” do obiektu, jego 
metod i właściwości



Zachowanie kolejności odwołania zgodnie z 
hierarchią występowania obiektów np. 
skoroszyt.arkusz.zakres

P

ro

gr

am

ow

an

ie

skoroszyt.arkusz.zakres



Instrukcja 

With

w odwoływaniu się do obiektów: 

With

obiekt

działania_na_obiekcie

End With

12

P

ro

gr

am

ow

an

ie

background image

I

NSTRUKCJA

W

ITH

20

09

-1

0-

22

P

ro

gr

am

ow

an

ie

WITH 

Workbooks(1).Activesheet

.Range(”A1:A2”).Select

.Range(”A1:A2”).Value = 10

END WITH

13

P

ro

gr

am

ow

an

ie

WITH 

Workbooks(1).Worksheets("Arkusz1").Activate

END WITH
WITH 

Workbooks(1).Worksheets("Arkusz1").Rows

.Font.Bold = True
.Select

END WITH

background image

20

09

-1

0-

22

T

YPY DANYCH UŻYTKOWNIKA



Typ danych użytkownika służy do przechowywania 
w jednej strukturze danych podobnego rodzaju



Instrukcje między 

Type

End Type

określają 

elementy nowego typu danych

P

ro

gr

am

ow

an

ie

Type

CarInfo

14

P

ro

gr

am

ow

an

ie

Type

CarInfo

name

As String

model 

As String

rokProdukcji

As Integer

cena 

As Currency

End Type

Dim myCar As CarInfo
myCar.name = „Fiat”
myCar.model = „Brava”

background image

20

09

-1

0-

22

I

NSTRUKCJA PRZYPISANIA



Instrukcja przypisania jest instrukcją VBA 
wykonującą obliczenia i przypisującą wynik 
zmiennej lub obiektowi



W języku VBA funkcję operatora przypisania 
spełnia znak równości 

P

ro

gr

am

ow

an

ie

spełnia znak równości 

15

P

ro

gr

am

ow

an

ie

x = 1
x = x + 1
FileOpen = True
Range("Rok").Value = 2009

background image

20

09

-1

0-

22

T

ABLICE



Tablica jest grupą elementów tego samego typu 

posiadających wspólną nazwę



W celu odwołania się do określonego elementu tablicy 

należy użyć jej nazwy i numeru indeksu

P

ro

gr

am

ow

an

ie

16

P

ro

gr

am

ow

an

ie

Dim

mojaTablica(0 

To

100) 

As Integer

Dim

mojaTablica(100) 

As Integer

mojaTablica(0) = 123

Dim

mojaTablica(1 

To

10, 1 

To

10 ) 

As Integer

‘ Tablica dynamiczna

Dim

mojaTablica() 

As Integer

Redim

‘ Informuje interpreter VBA o liczbie 

elementów tablicy 

Aby w przypadku 
wszystkich tablic, dla 
których deklarowany 
jest tylko górny 
indeks, interpreter 
VBA stosował dolny 
indeks równy 1, przed 
pierwszą procedurą 
modułu należy 
wstawić instrukcję: 

Option Base

= 1

background image

20

09

-1

0-

22

W

YRAŻENIA I OPERATORY



Wyrażenie – operacja wykonywana w celu 

uzyskania wartości;



Składowe wyrażenia: zmienne, stałe, funkcje, 

wartości (tekstowe, liczbowe, logiczne), operatory;



Operatory:

P

ro

gr

am

ow

an

ie

Operatory:

+

-

*

/

(dzielenie), 

(potęgowanie),

(przypisanie), 

\

(dzielenie całkowite),

Mod

(reszta z dzielenia całkowitego);

17

P

ro

gr

am

ow

an

ie

background image

20

09

-1

0-

22

O

PERATORY

-

KOLEJNOŚĆ



Kolejność wykonywania operatorów: 



zmiana znaku, 



tożsamość, 



potęgowanie, 



mnożenie (

*

,

/

,

\

,

mod

), 

P

ro

gr

am

ow

an

ie



mnożenie (

*

,

/

,

\

,

mod

), 



dodawanie (

+

/

-

), 



przypisanie (

=

);



Nawiasy – kolejność wykonywania od najgłębiej 
zagnieżdżonego – nie ma ograniczeń w 
zagnieżdżeniu! 

18

P

ro

gr

am

ow

an

ie

background image

20

09

-1

0-

22

O

PERACJE NA TEKSTACH



Konkatenacja – łączenie tekstów: 

+

lub 

&

"Jan" + "Kowalski" => "JanKowalski"

"Jan" & Chr(32) & "Kowalski" => "Jan Kowalski"

"A" & Chr(98) & "c" => „Abc”

P

ro

gr

am

ow

an

ie

Uwaga:
1 + 2 = "3"
1 & 2 = "12"

Uwaga: operator 

+

może być używany tylko do 

zmiennych tego samego typu (liczbowy/tekstowy)

19

P

ro

gr

am

ow

an

ie

background image

20

09

-1

0-

22

O

PERACJE LOGICZNE



Operacje logiczne mają wynik
PRAWDA (True, 1) lub FAŁSZ (False, 0);



Operacje mogą być prowadzone na zmiennych 

typu Boolean lub liczbach całkowitych (czyli 

porównywanie ciągów reprezentacji binarnych tych 

liczb);

P

ro

gr

am

ow

an

ie

liczb);



Operatory logiczne:

Not 

(negacja - nie)

And

(koniunkcja - i)

Or

(alternatywa - lub)

Xor

(alternatywa symetryczna – suma mod 2)

Eqv

(równoważność)

Imp

(implikacja – jeśli... to...);

20

P

ro

gr

am

ow

an

ie

background image

20

09

-1

0-

22

R

ELACJE



Relacje to porównanie dwóch argumentów – wynik 
w formie wartości logicznej (0/1);



arg1 

vs

arg2



operatory: 

=

<>

<

>

<=

>=

;

P

ro

gr

am

ow

an

ie

21

P

ro

gr

am

ow

an

ie

x y Not x Not y x And y x Or 

y

x Xor 

y

x Eqv y x Imp 

y

0 0

1

1

0

0

0

1

1

0 1

1

0

0

1

1

0

1

1 0

0

1

0

1

1

0

0

1 1

0

0

1

1

0

1

1

background image

20

09

-1

0-

22

I

NSTRUKCJE WARUNKOWE



Służą do kierowania programem zależnie od 
wartości wyrażenia logicznego (wyniku operacji 
logicznej);



Jeśli wyrażenie jest fałszywe, to program wykonuje 
instrukcje od komendy 

Else

P

ro

gr

am

ow

an

ie

instrukcje od komendy 

Else



Blok instrukcji może być pusty;



Po zakończeniu wykonywania instrukcji z danego bloku 
program wykonuje instrukcje dalej już po komendzie 

End If

;



Można zagnieżdżać warunki bez ograniczeń;

22

P

ro

gr

am

ow

an

ie

background image

I

NSTRUKCJE WARUNKOWE

20

09

-1

0-

22

P

ro

gr

am

ow

an

ie

If

warunek

Then

instrukcja

If

warunek

Then

instrukcja_1
instrukcja_2

...

23

P

ro

gr

am

ow

an

ie

If

warunek

Then

instrukcje_1

Else

instrukcje_2

End If

...

End If

background image

Warunek_1

Warunek_2

Instrukcje_1

Instrukcje_2

Instrukcje_3

NIE

NIE

TAK

TAK

20

09

-1

0-

22

P

ro

gr

am

ow

an

ie

P

ro

gr

am

ow

an

ie

24

If

warunek_1

Then

instrukcje_1

Elseif

warunek_2 

Then

instrukcje_2

Else

instrukcje_3

End If

background image

I

NSTRUKCJE WYBORU

20

09

-1

0-

22

P

ro

gr

am

ow

an

ie

Select Case

sprawdzane_wyrażenie

Case

lista_wyrażeń_1

Blok instrukcji_1

Case

lista_wyrażeń_2

25

P

ro

gr

am

ow

an

ie

Case

lista_wyrażeń_2

Blok instrukcji_2

Case Else

Blok instrukcji_3

End Select

background image

I

NSTRUKCJE WYBORU

20

09

-1

0-

22

P

ro

gr

am

ow

an

ie

Select Case

WeekDay(Now)

Case

2, 3, 4, 5, 6

Debug.Print

„To nie Weekend”

Case Else

26

P

ro

gr

am

ow

an

ie

Case Else

Debug.Print

„Weekend !”

End Select

background image

20

09

-1

0-

22

I

NSTRUKCJE PĘTLI



Instrukcja Do ... Loop



Instrukcja Do Until warunek ... Loop



Instrukcja Do warunek ... Loop Until



Instrukcja Do While warunek ... Loop

P

ro

gr

am

ow

an

ie



Instrukcja Do ... Loop While warunek



Instrukcja For ... Next



Instrukcja For Each



Instrukcja While warunek ... Wend

27

P

ro

gr

am

ow

an

ie

background image

I

NSTRUKCJE PĘTLI

(

C

.

D

.)

20

09

-1

0-

22

P

ro

gr

am

ow

an

ie

DO UNTIL warunek 

DO 

instrukcje
LOOP

DO WHILE warunek 

instrukcje
LOOP

DO 

28

P

ro

gr

am

ow

an

ie

instrukcje
LOOP

DO 

instrukcje
LOOP UNTIL warunek

DO 

instrukcje
LOOP WHILE warunek 

background image

I

NSTRUKCJE PĘTLI

(

C

.

D

.)

20

09

-1

0-

22

P

ro

gr

am

ow

an

ie

FOR licznik = start TO koniec

instrukcje

NEXT licznik

29

P

ro

gr

am

ow

an

ie

FOR licznik = start TO koniec STEP

instrukcje

NEXT licznik

FOR EACH element IN kolekcja

instrukcje

NEXT element

background image

O

PUSZCZENIE PĘTLI

20

09

-1

0-

22

P

ro

gr

am

ow

an

ie

DO 

instrukcja_1

IF warunek THEN EXIT DO

LOOP

30

P

ro

gr

am

ow

an

ie

LOOP

FOR licznik = start TO koniec 

instrukcja_1

IF warunek THEN EXIT FOR

LOOP

background image

20

09

-1

0-

22

P

RZYKŁADY FUNKCJI WBUDOWANYCH



Funkcje wprowadzania danych:



MsgBox – wyświetlanie i wprowadzanie danych



InputBox – wprowadzanie danych



Funkcje znakowe – działania na ciągach znaków 

(rezultat jest również ciągiem znaków)

P

ro

gr

am

ow

an

ie



Funkcje liczbowe – działania na liczbach (rezultat 

jest liczbą)



Funkcje daty – działania na datach



Konwersja danych:



Konwersja liczba ⇒ tekst



Konwersja tekst ⇒ liczba



Konwersja ... ⇒ data, .. ⇒ boolean



Inne funkcje

31

P

ro

gr

am

ow

an

ie

background image

20

09

-1

0-

22

F

UNKCJE ZNAKOWE



UCase(ciąg) – zamiana na duże litery



LCase(ciąg) – zamiana na małe litery



LTrim(ciąg) – ciąg znaków bez spacji początkowych



RTrim(ciąg) –ciąg znaków bez spacji końcowych

P

ro

gr

am

ow

an

ie



Trim(ciąg) – ciąg znaków bez spacji początkowych i 
końcowych



Left(ciąg, n) – ekstrakcja n początkowych znaków



Right(ciąg, n) – ekstrakcja n końcowych znaków



Mid(ciąg, start, n) – ekstrakcja n znaków od pozycji 
start



Len(ciąg) – długość ciągu znaków

32

P

ro

gr

am

ow

an

ie

background image

20

09

-1

0-

22

F

UNKCJE MATEMATYCZNE



Abs(n) – wartość bezwzględna



Int(n) – część całkowita liczby (zaokrąglenie, dla 
ujemnych zwraca najbliższą liczbę mniejszą od n)



Fix(n) – część całkowita liczby (odrzucenie części 
ułamkowej)

P

ro

gr

am

ow

an

ie

ułamkowej)



Sqrt(n) – pierwiastek z n



Rnd – liczba losowa typu Single

33

P

ro

gr

am

ow

an

ie

background image

20

09

-1

0-

22

F

UNKCJE DATY



Time – czas systemowy komputera



Date – data systemowa



Day(data) – numer dnia miesiąca



WeekDay(data [, pdt]) – numer dnia tygodnia

P

ro

gr

am

ow

an

ie



Month(data)- numer miesiąca



MonthName(data) – nazwa miesiąca



Year(data) – rok z podanej daty



FormatDateTime(dataformat) – podaje datę/czas 
w określonym formacie

34

P

ro

gr

am

ow

an

ie

background image

F

UNKCJE KONWERSJI

20

09

-1

0-

22

P

ro

gr

am

ow

an

ie



Konwersja ... ⇒ liczba



CByte



CCur



CDbl



Konwersja ... ⇒ tekst



CStr



CVar



Konwersja ... ⇒ data:

35

P

ro

gr

am

ow

an

ie



CDbl



CDec



CInt



CLng



CSng



Cvar



Konwersja ... ⇒ data:



CDate



Konwersja ... ⇒ boolean:



CBool

background image

20

09

-1

0-

22

F

UNKCJA

M

SG

B

OX



Funkcja MsgBox wyświetla okno dialogowe z 
komunikatem i czeka na wciśnięcie przycisku przez 
użytkownika, po czym zwraca wartość typu Integer
określającą przyciśnięty prz użytkownika przycisk



Składnia:

P

ro

gr

am

ow

an

ie



Składnia:
MsgBox(Komunikat [, Przyciski] [, Tytuł] [, PlikHelp, 
HelpContext])



Podobnie do wszystkich funkcji VBA, funkcja 
MsgBox wymaga umieszczenia jej argumentów w 
nawiasach , gdy używa się wartości zwracanych 
przez funkcję

36

P

ro

gr

am

ow

an

ie

background image

20

09

-1

0-

22

F

UNKCJA

M

SG

B

OX

P

ro

gr

am

ow

an

ie

Argument

Opis

Komunikat (Wymagany) Wyrażenie łańcuchowe wyświetlane jako 

wiadomość w oknie dialogowym (Maks. 1024 znaki).  Jeżeli 
łańcuch ten zawiera więcej niż jedną linię, można oddzielać 
je używając znaków powrotu karetki (carriage return 

37

P

ro

gr

am

ow

an

ie

je używając znaków powrotu karetki (carriage return 
Chr(13)) i podziału linii (linefeed Chr(10)), lub połączenia 
(Chr(10) & Chr(13)), pomiędzy poszczególnymi liniami.

Przyciski (Opcjonalny) Wyrażenie numeryczne określające numer i 

typ przycisków, które mają być wyświetlane. Domyślna 
wartość 0.

Tytuł

(Opcjonalny) Wyrażenie łańcuchowe wyświetlane na pasku 
tytułowym okna dialogowego. Jeżeli zostanie pominięty, na 
pasku tytułowym zostanie wyświetlona nazwa aplikacji.

background image

20

09

-1

0-

22

F

UNKCJA

M

SG

B

OX

P

ro

gr

am

ow

an

ie

Argument

Opis

PlikHelp

(Opcjonalny) Wyrażenie łańcuchowe określające 
niestandardowy plik pomocy (Help), który ma być użyty do 
przeszukiwania pomocy kontekstowej dla okna 
dialogowego. 

38

P

ro

gr

am

ow

an

ie

dialogowego. 

HelpContext(Opcjonalny). Wyrażenie numeryczne określające numer 

kontekstowy skojarzony z tematem pomocy przez autora 
pomocy. 

Stałe VB:

vbOkOnly

– klawisz Ok;

vbOkCancel

– klawisze Ok i Cancel;

vbYesNo

– klawisze Yes i No;

vbCritical

– ikonka krytyczna;

vbQuestion

– ikonka pytania;

vbExclamation

– ikonka wykrzyknika;

vbInformation

– ikonka informacji;

background image

20

09

-1

0-

22

W

ARTOŚCI I STAŁE ZWRACANE PRZEZ

F

UNKCJĘ

M

SG

B

OX



W przypadku okna dialogowego z wieloma 
przyciskami, wartość zwrócona przez funkcje 
MsgBox zapisuje się w zmiennej. 

P

ro

gr

am

ow

an

ie

Stała

Wartość

Opis

39

P

ro

gr

am

ow

an

ie

Stała

Wartość

Opis

vbOK

1

OK

vbCancel

2

Cancel(Anuluj)

vbAbort

3

Abort(Przerwij)

vbRetry

4

Retry(Ponów próbę)

vbIgnore

5

Ignore(Zignoruj)

vbYes

6

Yes(Tak)

vbNo

7

No(Nie)

background image

20

09

-1

0-

22

P

RZYKŁAD

P

ro

gr

am

ow

an

ie

Arkusz programu 

Microsoft Office Excel z 

40

P

ro

gr

am

ow

an

ie

background image

20

09

-1

0-

22

F

UNKCJA

I

NPUT

B

OX



Funkcja InputBox wyświetla okno dialogowe i 
czeka, aż użytkownik wprowadzi tekst lub wciśnie 
przycisk oraz zwraca wartość typu String
zawierającą tekst wprowadzony przez użytkownika.



Składnia:

P

ro

gr

am

ow

an

ie



Składnia:

InputBox(Pytanie [, Tytuł] [, DomyślnyTekst] 

[, XPos] [, YPos] [,PlikHelp, HelpContext])

41

P

ro

gr

am

ow

an

ie

background image

20

09

-1

0-

22

A

RGUMENTY FUNKCJI

I

NPUT

B

OX

P

ro

gr

am

ow

an

ie

Argument Opis

Pytanie

(Wymagany) Wyrażenie łańcuchowe wyświetlane 
jako wiadomość w oknie dialogowym (Maks.1024 
znaki). Jeżeli łańcuch ten zawiera więcej niż jedną 
linię, można oddzielać je używając znaków powrotu 
karetki (carriage return Chr(13)) i podziału linii 

42

P

ro

gr

am

ow

an

ie

karetki (carriage return Chr(13)) i podziału linii 
(linefeed Chr(10)), lub połączenia (Chr(10) & 
Chr(13)), pomiędzy poszczególnymi liniami.

Tytuł

(Opcjonalny) Wyrażenie łańcuchowe wyświetlane 
na pasku tytułowym okna dialogowego. Jeżeli 
zostanie pominięty, na pasku tytułowym zostanie 
wyświetlona nazwa aplikacji.

background image

20

09

-1

0-

22

A

RGUMENTY FUNKCJI

I

NPUT

B

OX

P

ro

gr

am

ow

an

ie

Argument Opis

Domyślny

Tekst

(Opcjonalny) Wyrażenie łańcuchowe wyświetlane w 
oknie wprowadzania danych jako domyślna odpowiedź, 
jeżeli nie zostanie wprowadzony inny tekst.

XPos

(Opcjonalny) Wyrażenie numeryczne określające, w 
punktach (1 cal=72 punkty), poziomą odległość między 

43

P

ro

gr

am

ow

an

ie

punktach (1 cal=72 punkty), poziomą odległość między 
lewym brzegiem okna dialogowego a lewym brzegiem 
ekranu. Jeżeli zostanie pominięty, okno dialogowe 
zostaje wycentrowane poziomo.

YPos

(Opcjonalny) Wyrażenie numeryczne określające, w 
twipsach, pionową odległość między górnym brzegiem 
okna dialogowego a górą ekranu. Jeżeli zostanie 
pominięty, okno dialogowe zostaje umieszczone na 1/3 
wysokości.

background image

P

RZYKŁADY

20

09

-1

0-

22

P

ro

gr

am

ow

an

ie

Arkusz programu 

Microsoft Office Excel z 

44

P

ro

gr

am

ow

an

ie

background image

20

09

-1

0-

22

W

YCHWYTYWANIE BŁĘDÓW



Zawsze należy zakładać, że jeśli użytkownik może 
w interakcji z programem wprowadzić dane, które 
spowodują wystąpienie błędu wykonywania kodu i 
w konsekwencji przerwanie działania programu



Podstawowa strategia wychwytywania błedów

P

ro

gr

am

ow

an

ie



Podstawowa strategia wychwytywania błedów
składa się z czterech kroków:



Ustawienie pułapki wychwytującej błędy



Tworzenie kodu procedury obsługującej błędy



Wznowienie wykonywania programu



Wyłączenie pułapki

45

P

ro

gr

am

ow

an

ie

background image

20

09

-1

0-

22

U

STAWIENIE PUŁAPKI WYCHWYTUJĄCEJ BŁĘDY



ON ERROR GOTO etykieta



instrukcję należy umieścić w miejscu poprzedzającym 
wystąpienie błędu



przy wystąpieniu błędu nastąpi przejście do linii
z podaną etykietą

P

ro

gr

am

ow

an

ie



ON ERROR RESUME Next



w przypadku wystąpienia błędu następuje przejście do 
następnej instrukcji po tej, która spowodowała błąd



ON ERROR GOTO 0 – wyłączenie obsługi błędów 
w bieżącej procedurze

46

P

ro

gr

am

ow

an

ie

background image

P

RZYKŁAD

20

09

-1

0-

22

P

ro

gr

am

ow

an

ie

Arkusz programu 

Microsoft Office Excel z 

47

P

ro

gr

am

ow

an

ie