TOP

VBA-Lekcja 6.1. Typy danych (Variables)

Za pomocą zmiennych możemy zapisać wszelkiego rodzaju informacje, takie jak: liczby, tekst, data itp.

Zmienna (Variable) to nazwany obszar pamięci używany do przechowywania pojedynczej wartości. Wartość zmiennej można zmienić podczas wykonywania kodu.

Kiedy deklarujemy zmienną (za pomocą instrukcji Dim), przydzielamy konkretny obszar pamięci i przypisujemy mu nazwę w celu łatwego odniesienia.

Poniżej znajdują się podstawowe zasady nazewnictwa zmiennych:

  • Musisz użyć litery jako pierwszego znaku;
  • W nazwie nie można używać spacji, kropki (.), wykrzyknika (!) ani symboli @, &, $, #;
  • Nazwa nie może przekraczać 255 znaków;
  • Nie możesz używać zastrzeżonych słów kluczowych Visual Basic jako nazwy zmiennej.

  • Rozważmy pierwszy przykład:

    Sub variables()
       'Zadeklaruj zmienną jako liczbę całkowitą
       Dim my_variable As Integer
       'Zmiennej przypisujemy określoną wartość
       my_variable = 12
       'Wartość zmiennej wyświetlamy w oknie komunikatu
       MsgBox my_variable
    End Sub
    

    Pierwsza linia kodu deklaruje zmienną:

       Dim my_variable As Integer
    
  • Dim: definicja zmiennej
  • my_variable: nazwa zmiennej
  • As: definicja typu zmiennej
  • Integer: typ zmiennej
  • Ogólnie rzecz biorąc, deklarowanie zmiennych nie jest wymagane i kod będzie działać, ale jest to zdecydowanie zalecane. Ułatwia to pracę z nimi, znajdowanie ich i rozwiązywanie różnych problemów. Zasadniczo deklarowanie zmiennych jest dobrym nawykiem programistycznym.

    Typ zmiennej wskazuje na charakter jej zawartości (tekst, liczba, data itp.).

    Druga wstążka przypisuje wartość zmiennej:

       my_variable = 12
    

    I wreszcie trzecia wstążka wyświetla wartość zmiennej w oknie komunikatu:

       MsgBox my_variable
    

    Wynik wykonania kodu będzie następujący:

    Rodzaje zmiennych

    Nazwa Typ Opis Symbol
    Byte Numeryczny Liczba całkowita z zakresu od 0 do 255
    Integer Numeryczny Liczba całkowita z zakresu od -32'768 do 32'767 %
    Long Numeryczny Liczba całkowita z zakresu - 2'147'483'648 i 2'147'483'647 &
    Currency Numeryczny Naprawiono dziesiętny pomiędzy -922'337'203'685'477.5808 i 922'337'203'685'477.5807 @
    Single Numeryczny Liczba zmiennoprzecinkowa dziesiętna z zakresu od -3,402823E38 do 3,402823E38 !
    Double Numeryczny Liczba dziesiętna zmiennoprzecinkowa z zakresu od -1,79769313486232D308 do 1,79769313486232D308 #
    String Tekst Tekst $
    Date Data Data i godzina
    Boolean Wartość logiczna Prawda (tak) lub fałsz (nie)
    Object Obiekt Microsoft Object
    Variant Inny Dowolny typ danych (typ domyślny, jeśli zmienna nie jest zdefiniowana)

    Rozważmy kilka przykładów z różnymi typami zmiennych:

     'Liczba całkowita
     Dim nbInteger As Integer
     nbInteger = 12345
       
     'Liczba dziesiętna
     Dim nbComma As Single
     nbComma = 123.45
    
     'Tekst
     Dim varText As String
     varText = "moonexcel.com.ua"
    
     'Data
     Dim varDate As Date
     varDate = "24.08.2012"
    
     'Wartość logiczna Prawda/Fałsz
     Dim varBoolean As Boolean
     varBoolean = True
       
     'Obiekt (arkusz jako typ zmiennej)
     Dim varSheet As Worksheet
     Set varSheet = Sheets("Sheet2") 'Set => przypisanie wartości zmiennej typu „obiekt”
       
     'Przykład wykorzystania zmiennej typu „obiekt”: aktywacja arkusza
     varSheet.Activate
    

    Symbole wymienione w tabeli można wykorzystać do krótszych deklaracji zmiennych:

     Dim example As Integer
     Dim example%
    

    Te dwa wpisy są identyczne.

    Można także zmusić użytkownika do zadeklarowania zmiennych wpisując na początku modułu komendę Option Explicit. W takim przypadku pojawi się komunikat o błędzie w przypadku wprowadzenia niezadeklarowanej zmiennej.