Перейти к содержимому
Наше приложение «Дешевые авиабилеты» в AppGallery >>

VBA Excel. Перенос кода процедуры и текста на новую строку

    Перенос части кода одного выражения VBA Excel на другую строку. Объединение нескольких операторов в одной строке. Программный перенос текста на новую строку.


    Обратите внимание, что в этой статье слова «оператор» и «выражение» употребляются в одном значении. Они обозначают минимальный исполняющийся код VBA, расположенный в одной строке.

    Перенос части выражения на новую строку

    Деление длинного оператора на части улучшит его читаемость, сделает код процедуры более наглядным и компактным, не позволит ему уходить за пределы видимого экрана справа.

    Переносимые на новые строки части кода одного выражения разделяются символом нижнего подчеркивания (_), который ставится обязательно после пробела. Этот символ указывает компилятору VBA Excel, что ниже идет продолжение текущей строки.

    Пример 1
    Процедуры без переноса и с переносом части кода операторов:

    Вы можете скопировать код Примера 1 и проверить его работоспособность. В обоих случаях информационное окно MsgBox покажет одинаковый результат.

    Иногда пишут, что для переноса кода добавляется пробел с символом подчеркивания. Так легче запомнить и не забыть, что перед знаком подчеркивания обязательно должен быть пробел. Но на самом деле, как видите из примера выше, пробелы уже есть в исходном коде, и мы добавили только символы подчеркивания.

    Объединение операторов в одной строке

    Множество коротких выражений в коде VBA Excel можно объединить в одной строке. Для этого используется символ двоеточия с пробелом «: », который указывает компилятору, что за ним идет следующий оператор.

    Пример 2
    Процедуры без объединения и с объединением операторов:

    Во втором примере, как и в первом, информационное окно MsgBox покажет одинаковый результат.

    Программный перенос текста на другую строку

    Для программного переноса произвольного текста на новую строку в VBA Excel используются следующие ключевые слова:

    • vbCr – возврат каретки;
    • vbLf – перевод строки;
    • vbCrLf – возврат каретки и перевод строки, аналог нажатия клавиши «Enter»;
    • vbNewLine – новая строка.

    Выражения «возврат каретки» и «перевод строки» идут от механических пишущих машин (печатных машинок).

    Пример 3
    Проверяем работоспособность перечисленных выше ключевых слов по программному переносу текста на новые строки в ячейке и информационном окне MsgBox:

    Получился следующий результат:

    Результаты программного переноса текста на новую строку в ячейке и информационном окне MsgBox
    Результат четырех переносов текста на новую строку

    Как видно на изображении, ключевое слово «vbCr» не сработало в ячейке для переноса текста на другую строку, хотя сработало в информационном окне MsgBox.

    Ключевые слова «vbCr» и «vbLf» я использовал исключительно для ознакомления, а на практике следует применять для переноса текста на новую строку – «vbCrLf» и «vbNewLine».

    Содержание рубрики VBA Excel по тематическим разделам со ссылками на все статьи.