- Liczby całkowite:
Byte - 1 bajt; wartości od 0
do 255
Integer - 2 bajty; od -32768
do 32767
Long - 4 bajty; od ok. -20 mld
do ok. 20 mld
Decimal - 14 bajtów; do 28 cyfr
z przecinkiem
- Liczby rzeczywiste:
Single - 4 bajty, od ok. -3.4e38
do ok. 1.4e45
Double - 8 bajtów, rzędu +/-1.8e308
- Wartości logiczne:
Boolean - True/False
- Daty:
Date - od 1/1/100 do 31/12/9999
- Ciągi znaków:
String (ustalonej długości)
- od 0 do 65535 znaków
String (zmiennej długości) -
od 0 do ok. 2 mld znaków
- Obiekty: Object - wskazanie na dowolny obiekt
- Typ dopasowany do wartości: Variant
- Definiowany przez użytkownika
Zmienna - miejsce w pamięci, które może przechowywać wartość określonego typu.
Ta wartość może się zmieniać w trakcie działania programu.
Nazwa zmiennej:
- Unikatowa w obrębie swojego zakresu
- Do 255 znaków
- Nie może zawierać znaku deklarującego typ, spacji, przecinka i kropki
- Musi zaczynać się od litery
- Małe i duże litery nie są rozróżniane
- Nie można używać słów kluczowych VB
- Przykłady:
wynik wynik_dod wynik_dodawania
wynikDod wynikDodawania
- Informacja o nazwie zmiennej i jej typie
- Domyślnym typem jest Variant
- Nieobowiązkowa, ale zalecana:
- przyspieszenie wykonania
- oszczędność pamięci
- unikanie błędów
- Składnia deklaracji: Dim zmienna As typ
np.: Dim wynik As Integer
- Skrócona deklaracja przy użyciu specjalnych znaków typów danych:
% Integer
& Long
! Single
# Double
@ Currency
$ String
np.: Dim wynik%
Wymuszenie deklarowania zmiennych w module:
Option Explicit
w pierwszej linii kodu modułu.
- Znaki zwykłe i sterujące ujęte w cudzysłowach
- Pusty ciąg: ""
- Zmienne łańcuchowe stałej długości, np. Dim sNazwisko
As String * 30
- Zmienne łańcuchowe zmiennej długości, np. Dim
sCiag As String
- Łączenie ciągów znaków operatorem &,
np. sCiag = "tekst" & "2"
- Specjalne znaki sterujące, m.in.:
vbNewLine
- znak nowego wiersza
vbTab - tabulator
vbBack -
backspace
np. "tekst
linii pierwszej" & vbNewLine & "tekst linii drugiej"
- Wartość daty i czasu
- Dostępny zakres: od 1.01.100 do 31.12.9999
- Reprezentacja dat:
użycie znaków #
ciągi znaków zawierające poprawne daty
- Przykłady:
Dim d As Date
d = #12/24/1998 13:33:00#
d = #12/24/1998#
d = #13:33:00#
d = "24 grudnia 1998"
uwaga: format zależny od formatu obowiązującego w systemie
operacyjnym
Excel zawiera dużą liczbę dodatkowych typów danych, należących do ogólnej
kategorii danych typu Object.
Najczęściej wykorzystywane:
Chart, Comment, FillFormat, Filter,
Font, Outline, PageSetup, Range, Sheets, Window, Workbook, Worksheet,
WorksheetFunction
Tworzenie zmiennej obiektowej:
- Zadeklarować zmienną i określić jej typ (może być ogólny Object
lub szczegółowy typ obiektów Excela)
- Przypisać zmienną do obiektu przy pomocy instrukcji Set
Przykład:
Tablica - kolekcja zmiennych posiadających tę samą nazwę, rozróżnianych
na podstawie indeksu, czyli numeru w kolekcji.
- Deklaracja jednowymiarowej tablicy:
Dim wektor(1 To
10) As Double
- Deklaracja wielowymiarowej tablicy:
Dim macierz(1 To
10, 1 To 10) As Double
- Deklaracja:
Dim tabDyn() As
Integer
- Określenie rozmiaru:
ReDim tabDyn(1 To
10)
- Zmiana rozmiaru:
z wyczyszczeniem: ReDim
tabDyn(1 To 100)
z zachowaniem: ReDim
Preserve tabDyn(1 To 100)
- Sprawdzenie rozmiaru:
UBound(tabDyn)
Nazwy o określonym znaczeniu zastępujące wartości niezmienne w kodzie programu.
- Przykłady deklaracji stałych:
Const Tytul = "Wczytywanie
danych" As String
Const As Integer Pot_2_5 = 32
Const Poczatek As Date = #1/1/99#
- Nie można deklarować stałych obiektów
- Pewne stałe są zadeklarowane w Visual Basicu lub w Excelu, np.:
vbNewLine, vbTab, xlLeft, xlSolid
(spis dostępny w Przeglądarce obiektów)
Określa dostępność zmiennych i stałych dla innych procedur i modułów
Trzy poziomy zasięgu:
- Poziom procedury (zmienne, stałe lokalne)
- deklaracja wewnątrz procedury
- niewidoczne poza macierzystą procedurą
- Prywatny poziom modułu (prywatne)
- deklaracja w sekcji deklaracji modułu z użyciem słowa
kluczowego Private
- dostępna dla wszystkich procedur zawartych w module
- Publiczny poziom modułu (publiczne)
- deklaracja w sekcji deklaracji modułu z użyciem słowa
kluczowego Public
- dostępna dla wszystkich procedur w projekcie
Określenie jak długo (lub kiedy) zmienna jest poprawna. Dotyczy wyłącznie
zmiennych lokalnych.
- Zmienna lokalna jest niszczona automatycznie po wyjściu sterowania
poza jej zasięg (wyjściu z procedury)
- Zmienne lokalne zadeklarowane jako Static
nie są niszczone