Оформлення коду в VBA. Урок №18

Оформлення коду в VBA. Урок №18

Розробляючи власні програми в VBA, вам не раз доведеться перечитувати свій код і вносити в нього зміни. А якщо над проектом працюватиме ще хтось окрім вас, то й він має швидко розуміти, що й для чого було написано. Коментарі дещо спрощують це завдання, але буде ще краще, якщо ви встановите для себе та своєї команди чіткі принципи написання VBA коду і будете суворо дотримуватися їх.

Наприклад, я наполегливо рекомендую використовувати відступи, щоб візуально показати взаємозв'язок між операторами, які пов'язані за змістом:

Sub myCode()
    'оголошуємо змінні
    Dim pass As String
    Dim counter As String
    Dim myNum As String
    
    pass = InputBox("Введіть пароль", "Пароль") 'привласнюємо змінне значення, яке користувач введе в поле InputBox
    
    If pass = "d-nik" Then 'початок конструкції If … Then … Else … End If (умова, якщо пароль d-nik, то виконуємо наступні дії)
        counter = 0 'привласнюємо змінній counter значення 0
        myNum = 20 'привласнюємо змінній myNum значення 20
        Do While myNum > 10 'початок загального циклу програми
            myNum = myNum - 1
            counter = counter + 1
        Loop 'кінець загального циклу програми
        MsgBox "Цикл виконав " & counter & " повторень." 'виводимо повідомлення про кількість повторень (кінець дій, якщо користувач ввів правильний пароль)
    Else 'якщо користувач ввів неправильний пароль
        MsgBox "Ви помилились!" 'виводимо повідомлення про те, що пароль неправильний
    End If 'кінець конструкції If … Then … Else … End If
End Sub

В цьому коді ми наочно бачимо розподіл операторів за допомогою однакових відступів.

Для конструкції умови If...Then...Else...End If встановлені одні й ті самі відступи. Тому ми можемо чітко виділити першу групу операторів.

Для конструкції циклу Do...Loop встановлені однакові відступи тільки для цієї групи операторів, але ці відступи не такі як у If...Then...Else...End If. Тому в цьому коді ми відразу можемо візуально виділити і другу групу операторів. – Do … Loop.

Додавання відступів в код VBA

Для додавання відступів у рядках коду VBA можна використовувати клавішу Пробіл або клавішу Tab.

За замовчуванням знак табуляції в VBA дорівнює чотирьом пробілам. Але якщо ви хочете змінити цей параметр, то робиться це в VBA Tools → Option на вкладці Editor у полі Tab Width.

Tab Width VBA

Перенесення рядка коду в VBA

Коли ви пишите програму, дуже зручно, коли весь код повністю видно у вікні редактора VBA. Тому іноді виникає необхідність скористатися символом підкреслення (_) для того, щоб розділити рядок коду на декілька частин і перенести вміст на наступний рядок.

Якщо в кінці рядка стоїть символ підкреслення (_) це говорить редактору VBA про те, що наступний рядок потрібно приєднати до поточного і таким чином утворити єдиний оператор.

Приклад перенесення рядків коду

Sub myAlert()
    MsgBox "Це перший рядок до якого ми додамо другий і третій." _
    + " А це вже другий рядок." _
    + " А це третій рядок. Але редактор сприйме все це як один цілий рядок."
End Sub

У цьому випадку символ підкреслення (_) можна назвати символом продовженням рядка.

Main Menu