Typy danych zmiennych 57
Intege r. Typ przechowuję wartości całkowite, które język VBA określa jako zawie-; ; rające się w przedziale od S2 768 do 32 767; Oto przykład:
Dliii paragraphNumber As Integer paragraphNumber = 1
pF^liong. Typ przechowuje długie liczby całkowite, które język VBA określa jako zawie-rające się w przedziale od -2 147 483 648 do 2 147 483 647. Oto przykład:
Dim wordCount As Long wordCount = 100000
K Boolean. Typ przechowuje jedną z dwóch wartości logicznych Strue lub False. Oto przykład:
Dim documentSaved As Boolean “ 'óocumentSaved = Pal^ę!
■ Currency. Typ przechowuje wartości walutowe z przedziału od -922 337 203 685 477,5808 do 922 337^03 685 4#,§807.
■ Single. Typ przechowuje wartości zmiennoprzecinkowe pojedynczej precyzji, czyli liczby mające część dziesiętną. Oto przykład:
Dim averageUnitSales.Ąs Single averageUnitSales = 50.3
■ Double. Typ przechowuje wartości zmiennoprzecinkowe podwójnej precyzji, które swoim zakresem obejmują liczby znacznie większe lub mniejsze niż typ danych Single. Jednak należy zauważyć, że ponieważ zakres oferowany przez typ danych Single powinien być w zupełności wystarczający na potrzeby makr VBA, prawdopodobnie nigdy nie skorzysta się z typu danych Double. Oto przyldad:
Dim atomsInThellniverse As Double atomsInTheUniverse =t2.0E+79
UWAGA ___!__
Wartośa typu Double często używają zapisu wykładniczego, takiego jak 2.0E+79 (widoczny w powyższym przykładzie). Wartos'ć dodatnia (na przykład X) znajdująca się za symbolem E oznacza, że kropkę dziesiętną należy przesunąć o X miejsc w prawo, żeby uzyskać faktyczną wartość. A zatem na przykład zapis 2.0E+3 odpowiada wartości 2000. Wartość ujemna (na przykład -X) umieszczona za symbolem E oznacza, że kropkę dziesiętną należy przesunąć o Xmiejsc w lewo. W związku z tym zapis 3.14E-4 odpowiada wartości 0,000314.
Oto kilka uwag, o których trzeba pamiętać podczas stosowania typów danych:
■ Jeśli przy deklarowaniu zmiennej nie określi się typu danych, interpreter języka VBA przypisze jej typ Variant. Dzięki temu możliwe będzie zapisanie w zmiennej danych dowolnego typu. Jednakże nie jest to dobre rozwiązanie, gdyż zmienne typu Variant używają większej ilości pamięci i są znacznie mniej wydajne od zmiennych innego typu. A zatem zawsze należy ustalać dla zmiennych konkretny typ danych. Warto