Język ten pozwala zaprogrmować rozwinięcie aplikacji polegające na stworzeniu nowych (makra wykorzystują już istniejące funkcje) rozszerzeń (funkcji).
Język VBA używa głównie dwóch rodzajów procedur:
Procedury "sub" i "function" mogą być poprzedzone słowami "private" lub "public" określcymi zasięg działania procedury.
Kod VBA umieszcza się w module standardowym
Wybór mudułu w którym piszemy kod VBA:
Po włączeniu edytora VBA pierwszą rzeczą jest włączenie okna podglądu "Immediate".
aby to zrobić włączamy je w menu "widok" (Viev).
Następnie przystępujemy do programowania kodu w oknie "CODE". Po napisaniu funkcji (np. sumowania dwuch liczb) jej działanie można sprawdzić w oknie "Immediate":
Po zapisaniu modułu z odpowiednią nazwą mamy do niego dostęp w naszym projekcie:
Typ danych | Rozmiar | Opis i zakres wartości |
---|---|---|
Byte | 1 bajt | Liczby całkowite od 0 do 255 |
Boolean | 2 bajty | Wartości logiczne: True (prawda) lub False (fałsz) |
Integer | 2 bajty | Liczby całkowite od -32 768 do 32 767 |
Long | 4 bajty | Liczby całkowite od -2 147 483 648 do 2 147 483 647 |
Single | 4 bajty | Liczby zmiennoprzecinkowe pojedynczej precyzji: od -3,402823E38 do -1,401298E-45 dla wartości ujemnych od 1,401298E-45 do 3,402823E38 dla wartości dodatnich |
Double | 8 bajtów | Liczby zmiennoprzecinkowe podwójnej precyzji: od -1,79769313486231E308 do -4,94065645841247E-324 dla wartości ujemnych od 4,94065645841247E-324 do 1,79769313486232E308 dla wartości dodatnich |
Currency | 8 bajtów | Duża precyzyjna liczba; może zawierać 19 cyfr, w tym cztery na prawo od przecinka. Wartości z przedziału: od -922 337 203 685 477,5808 do 922 337 203 685 477,5807 |
Decimal | 14 bajtów | Bardzo duża, bardzo precyzyjna liczba; może zawierać 29 cyfr oraz do 28 miejsc na prawo od przecinka. Wartości z przedziału: +/-79 228 162 514 264 337 593 543 950 335 bez przecinka dziesiętnego +/-7,9228162514264337593543950335 z 28 miejscami po przecinku Najmniejsza wartość niezerowa to: +/-0,0000000000000000000000000001 |
Date | 8 bajtów | Daty i godziny: od 1 stycznia 100 do 31 grudnia 9999 |
Object | 4 bajty | Dowolne odesłanie do wartości typu Object |
String | 10 bajtów + liczba znaków | Tekst o zmiennej długości od 0 do 2 miliardów znaków |
String | liczba znaków | Tekst o stałej długości od 1 do 65 400 znaków |
Variant | 16 bajtów | Dowolna wartość liczbowa w zakresie określonym dla typu Double |
Variant | 22 bajty + długość ciągu | Taki sam zakres co dla zmiennej typu String zmiennej długości |
Definiowany przez użytkownika za pomocą struktury Type | Liczba wymagana przez elementy | Zakres każdego elementu jest taki sam jak zakres typu danych tego elementu |
W przypadku, gdy zmienna ma typ, który nam nie odpowiada to można go zmienić stosując słowo kluczowe: dim (dimmension - wymiar)
Np. polecenie nadfające zmiennej wartość całkowitą będzie wyglądać następująco:
DIM mojaZmienna AS Integer
Przykład deklaracji tablicy zawierającej dni tygodni zaczynając od niedzieli: