Typy danych VBA - zmienne i stałe
Ten samouczek VBA pomoże ci zrozumieć pojęcie zmiennych i stałych. Są one ważne dla wszystkich języków programowania, a nie tylko VBA.
Jeśli chcesz rozpocząć naukę programowania, musisz zrozumieć, czym są zmienne i stałe i jak ich używać w swoim kodzie.
Co to jest zmienna?
Zmienna to wartość, którą deklarujesz w swoim kodzie, a co za tym idzie jest ona zarezerwowana w pamięci Twojego komputera i przechowywana. Musisz nazwać swoją zmienną i dobrą praktyką jest zadeklarowanie typu danych zmiennej. Kiedy deklarujesz typ danych, mówisz programowi, jaki typ danych musi być przechowywany przez twoją zmienną.
Użyjesz zmiennej w swoim kodzie, a program będzie również miał dostęp do Twojej zmiennej. Rzeczywista wartość zmiennej może się zmienić podczas działania kodu.
W VBA musimy użyć instrukcji Dim, aby zadeklarować zmienną. Sposób deklarowania zmiennej w VBA pokazuje poniższy kod:
123456 | Deklaracja podrzędnaZmienna()Dim nazwa_produktu jako ciągDim number_of_Products jako liczba całkowitaNapis końcowy |
Kiedy już zrobisz deklarację, możesz zainicjować swoją zmienną, ponieważ zadeklarowanie zmiennej po prostu rezerwuje miejsce w pamięci twojego komputera. Kiedy inicjujesz zmienną, przypisujesz jej wartość początkową. Sposób inicjalizacji zmiennej w VBA pokazano w poniższym kodzie:
123456 | Sub Inicjalizacja Zmienna()Dim number_of_Products As Integerliczba_produktów = 5000Napis końcowy |
Jeśli chodzi o to, jak nazwać zmienną w VBA, musisz upewnić się, że:
• To nie jest zastrzeżone słowo kluczowe. VBA ma pewne zastrzeżone słowa kluczowe, takie jak Dim, Private, Function, Loop i inne słowa kluczowe, których będziesz używać w swoim kodzie i nie możesz nazwać swojej zmiennej po słowie kluczowym.
• Podczas nazywania zmiennych nie używa się znaków specjalnych, takich jak !, @, &, ., # ani spacji.
• Nazwa zmiennej nie może mieć więcej niż 255 znaków.
• Nie można również zaczynać nazwy zmiennej od cyfry.
Różne wspólne typy danych dostępne w VBA
Istnieje wiele typów danych, których można używać w VBA. Istnieją jednak te wspólne, których będziesz używać w większości w swoim kodzie. To są:
• Strunowy - służy do przechowywania wartości tekstowych.
• Boole'a - służy do przechowywania wartości TRUE lub FALSE.
• Liczba całkowita - służy do przechowywania wartości liczb całkowitych.
• Podwójnie - służy do przechowywania liczb z ułamkami dziesiętnymi.
• Data - służy do przechowywania dat.
Uwaga: Gdy przechowujesz wartość w typie danych String, musisz użyć cudzysłowów. Na przykład:
12 | Dim nazwa_produktu jako ciągnazwa_produktu = "Produkt ABC" |
Uwaga: Gdy przechowujesz wartość w typie danych Data, musisz użyć cudzysłowów. Na przykład:
12 | Przyciemnij datę_początkową jako datędata_początku = “1/4/2019” |
Tabela wszystkich typów danych VBA
Typ danych | Przechowywane | Zakres wartości |
---|---|---|
Bajt | 1 bajt | 0 do 255 |
Liczba całkowita | 2 bajty | -32 768 do 32 767 |
Pojedynczy | 4 bajty | -3.402823E38 do -1.401298E-45 dla wartości ujemnych, 1.401298E-45 do 3.402823E38 dla wartości dodatnich |
Długie | 4 bajty | -2 147 483 648 do 2 147 483 648 |
Podwójnie | 8 bajtów | -1.79769313486232e+308 do -4.94065645841247E-324 dla wartości ujemnych, 4.94065645841247E-324 do 1.79769313486232e+308 dla wartości dodatnich. |
Dziesiętny | 14 bajtów | +/-79228162514264337593543950335 bez miejsc po przecinku +/-79228162514264337593543950335 za 28 miejsc po przecinku |
Data | 8 bajtów | 1 stycznia 100 do 31 grudnia 9999 |
Waluta | 8 bajtów | -922 337 203 685 477,5808 do 922 337 203 685 477,5807 |
Ciąg (zmienna długość) | 10 bajtów dodane do długości łańcucha | 0 do 2 miliardów znaków |
Ciąg (stała długość) | Długość łańcucha | 1 do około 65 400 |
Obiekt | 4 bajty | Obiekt w VBA |
Boole'a | 2 bajty | Prawda czy fałsz |
Korzystanie z typu danych wariantu
Jeśli nie masz pewności co do typu danych swojej zmiennej lub prawdopodobnie trzeba go zmienić, możesz użyć wariantu typu danych.
Wariant typu danych może przechowywać dowolny rodzaj danych z wyjątkiem typu danych String o stałej długości. Wariant typu danych deklarujesz w następujący sposób:
1 | Dim myValue jako wariant |
Używanie Option Explicit w VBA
Kiedy używasz Option Explicit w VBA, oznacza to, że musisz zadeklarować wszystkie zmienne, co jest dobrym pomysłem. Możesz upewnić się, że program Excel zawsze automatycznie dodaje opcję jawną w VBE, przechodząc do menu Narzędzia>Opcje>Edytor, a następnie zaznaczając opcję Wymagaj deklaracji zmiennej.
Używanie zmiennych w kodzie
Poniższy przykład ilustruje wszystkie pojęcia, które omówiliśmy powyżej:
1234567 | Sub Korzystanie ZmienneWKodzie()Dim nazwa_produktu jako ciągproduct_Name = "Produkt ABC"MsgBox nazwa_produktuNapis końcowy |
Wynik to:
Co to jest stała?
Stała jest podobna do zmiennej, ale przechowuje wartość, której nie można zmienić. Sposób deklarowania stałej w VBA pokazuje poniższy kod:
123456 | Podrzędna deklaracjaStała()Stała liczba dni = 1MsgBox Liczba dniNapis końcowy |
Wynik to:
Uwaga: Możesz zadeklarować stałą jako Private, co oznacza, że możesz jej używać tylko we własnym module lub możesz zadeklarować stałą jako Public, co oznacza, że możesz jej używać w innych modułach.