ВГОРУ

VBA-Урок 6.1. Типи даних (Variables)

YouLibreCalc for Excel logo

За допомогою змінних ми можемо записувати всі типи інформації, такі як: числа, текст, дата тощо.

Змінна (Variable) — це іменована область пам’яті, яка використовується для зберігання одного значення. Значення змінної можна міняти під час виконання коду.

Коли ми декларуємо змінну (використовуючи інструкцію Dim), ми виділяємо певну область пам'яті та присвоюємо їй ім'я для зручності звертання.

Нижче наведені основні правила іменування змінної:

  • Ви повинні використовувати букву як перший символ;
  • В назві не можна використовувати пробіл, крапку (.), знак оклику (!) або символи @, &, $, #;
  • Назва не може перевищувати 255 символів;
  • Не можна використовувати зарезервовані ключові слова Visual Basic як ім’я змінної.

  • Розглянемо перший приклад:

    Sub variables()
       'Декларуємо змінну як ціле число
       Dim my_variable As Integer
       'Присвоюємо змінній певне значення
       my_variable = 12
       'Відображаємо значення змінної у вікні повідомлення
       MsgBox my_variable
    End Sub
    

    Перша стрічка коду декларує змінну:

       Dim my_variable As Integer
    
  • Dim: визначення змінної
  • my_variable: ім'я змінної
  • As: визначення типу змінної
  • Integer: тип змінної
  • В загальному, декларування змінних не є обов'язковим і код буде працювати, проте це настійливо рекомендується. Це полегшує роботу з ними, їх пошук, дозволяє вирішувати різного роду проблеми. В принципі, декларування змінних є хорошою звичкою при програмуванні.

    Тип змінної вказує на природу її вмісту (текст, число, дата тощо).

    Друга стрічка присвоює значення змінній:

       my_variable = 12
    

    І на кінець третя стрічка відображає значення змінної у вікні повідомлення:

       MsgBox my_variable
    

    Результат виконання коду буде наступний:

    Типи змінних

    Назва Тип Опис Символ
    Byte Число Ціле число між 0 та 255
    Integer Число Ціле число між -32'768 та 32'767 %
    Long Число Ціле число між - 2'147'483'648 та 2'147'483'647 &
    Currency Число Фіксоване десяткове число між -922'337'203'685'477.5808 та 922'337'203'685'477.5807 @
    Single Число Десяткове число з плаваючою комою між -3.402823E38 та 3.402823E38 !
    Double Число Десяткове число з плаваючою комою між -1.79769313486232D308 та 1.79769313486232D308 #
    String Текст Текст $
    Date Дата Дата і час
    Boolean Булеве True (Так) або False (Ні)
    Object Об'єкт Microsoft Object
    Variant Інший Будь-який вид даних (тип по замовчуванню, якщо змінна не визначена)

    Розглянемо кілька прикладів з різними типами змінних:

     'Ціле число
     Dim nbInteger As Integer
     nbInteger = 12345
       
     'Десяткове число
     Dim nbComma As Single
     nbComma = 123.45
    
     'Текст
     Dim varText As String
     varText = "moonexcel.com.ua"
    
     'Дата
     Dim varDate As Date
     varDate = "24.08.2012"
    
     'Булеве значення True/False
     Dim varBoolean As Boolean
     varBoolean = True
       
     'Об'єкт (Робочий аркуш як тип змінної)
     Dim varSheet As Worksheet
     Set varSheet = Sheets("Sheet2") 'Set => присвоєння значення для змінної типу "об'єкт"
       
     'Приклад використання змінної типу "об'єкт": активування аркуша
     varSheet.Activate
    

    Символи, які зазначені в таблиці, можуть використовуватися для більш коротшого декларування змінних:

     Dim example As Integer
     Dim example%
    

    Ці два записи є ідентичними.

    Можна також заставити користувача декларувати змінні примусово, прописавши команду Option Explicit на початку модуля. В такому випадку буде з'являтися повідомлення про помилку, якщо було введено незадекларовану змінну.