Deklarowanie Zmiennych i Stałych
Przykłady dla wszystkich lekcji szkolenia
Excel 2013: ExcelSzkolenie.pl
Cwiczenia Excel 2013.zip
Ta lekcja może być
obejrzana lub przeczytana poniżej.
Film wygląda
najlepiej jeśli będzie odtwarzany w rozdzielczości 720p HD, rozdzielczość można
zmienić dopiero po uruchomieniu filmu klikając na ikonie trybika która pojawi się w prawym dolnym
rogu poniższego ekranu. Po kilku sekundach od zmiany obraz wyostrzy się.
Po co deklarować
zmienne?
1.
Zadeklarowane zmienne zajmują mniej miejsca w pamięci komputera i skomplikowane
makra będą działać szybciej, jeśli zadeklarujemy zmienne.
2.
Zadeklarowanie wszystkich zmiennych na początku makra pozwoli nam utrzymać
porządek i lepiej je kontrolować, szczególnie jeśli ich nazwy są opisowe i
dodamy do zmiennych komentarze, łatwiej też będzie zrozumieć makro innej
osobie.
3.
Deklarowanie zmiennych w połączeniu z poleceniem Option Explicit, które wymusza
zadeklarowanie wszystkich używanych zmiennych, chroni nas przed literówkami w
nazwach zmiennych, bez tego polecenia, zmienna z literówką zostanie
potraktowana jako nowa zmienna.
4.
Deklarowanie i opisywanie zmiennych ułatwi innym pracę z naszymi makrami,
jeżeli zamierzamy się nimi dzielić
5.
Zawansowani programiści źle patrzą na makra (nawet te krótkie i proste) nie
posiadające zadeklarowanych zmiennych :-)
Dlaczego w
przykładach z poprzednich lekcji nie deklarowaliśmy zmiennych?
Makra,
którymi się zajmowaliśmy były bardzo proste i pomimo braku deklarowania
zmiennych działały w okamgnieniu, zakładałem też, że będą służyć tylko twórcy
danego makra.
Nie
chciałem zniechęcać początkujących adeptów sztuki programowania formalnościami,
napisanie szybko krótkich i użytecznych makr miało na celu pokazanie, że warto
zainwestować w uczenie się VBA.
Poniżej
przedstawiam typy danych w VBA, pominąłem kilka nie używanych.
Typ danych |
Liczba używanych bajtów |
Zakres wartości |
|
Boolean |
2 |
wartość logiczna
prawda lub fałsz |
|
wartości: True,
False |
|||
|
|
wartość domyślna
False |
|
Integer |
2 |
liczba całkowita od
-32 768 do 32 767 |
|
wartość domyślna 0 |
|||
Long |
4 |
liczba całkowita |
|
od -2 147 483 648
do 2 147 483 647 |
|||
wartość domyślna 0 |
|||
Single |
4 |
liczba rzeczywista |
|
od -3,402823E38 do
-1,401298E-45 |
|||
Double |
8 |
liczba rzeczywista
dwukrotnie większa od Single |
|
od
-1,79769313486232e+308 do -4,9406564581247e-324 |
|||
i od
4,9406564581247e-324 do 1,79769313486232e+308 |
|||
wartość domyślna 0 |
|||
String |
1 + 1 na każdy znak |
tekst maksymalnie
do 32 767 znaków |
|
wartość domyślna:
"" - pusty |
|||
Date |
8 |
data i czas w przedziale
od 1 stycznia 100 r. do 31 grudnia 9999 roku wartość domyślna 0 |
|
Currency |
8 |
typ walutowy,
liczby rzeczywiste od -922 337 203 658 477,5808 do 922 337 203 685 477,5807 |
|
wartość domyślna 0 |
|||
Variant |
1 do 8 |
dowolny typ
identyfikowany przez Visual Basic w zależności od pierwszego użycia tej
zmiennej |
|
wartość domyślna:
EMPTY (puste) domyślny typ dla nie zadeklarowanych zmiennych |
|||
Zdefiniowany
przez użytkownika |
zależy od definicji |
zależny od
definicji |
Zazwyczaj
deklaruje się zmienne na początku makra, przed jakąkolwiek procedurą, dzięki czemu
zmienna jest dostępna we wszystkich procedurach modułu.
Najczęściej
używaną instrukcją jest Dim ... As ...
Sub
makro1()
Dim
zmienna1 As Integer
[kod makra]
End Sub
Jeżeli
zmienna ma być używana także w innych modułach danego skoroszytu, należy użyć
polecenia Public ... As ...
Zmienną
można zadeklarować jako Public tylko w standardowym module VBA.
Sub
makro2()
Public
zmienna2 As Integer
[kod
makra]
End
Sub
Polecenie
‘Option Explicit’ wymusi deklarowanie wszystkich zmiennych, polecenie to jest
chętnie używane przez zaawansowanych programistów. Jeżeli w kodzie makra
posłużymy się zmienną, która nie została zadeklarowana wyświetlony zostanie
błąd.
Deklarowanie stałych
Stałe deklarujemy
korzystając z instrukcji Const, nie musimy podawać typu stałej, możemy tylko
ustalić, że jest to stała.
W połączeniu z
instrukcją Public możemy zadeklarować stałą dostępną także w innych modułach.
Sub makro3()
Const stala1 as Integer
= 5 ‘deklaracja stałej typu integer
Const stala2 = 777 ‘deklaracja stałej bez podawania typu danych
Public Const stala3 as String = “Jan Kowalski” ‘deklaracja
stałej publicznej
[kod makra]
End Sub