Оформление кода VBA

Оформление кода в 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