Перейти к содержимому
Наше приложение «Дешевые авиабилеты» в 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 по тематическим разделам со ссылками на все статьи.

    Добавить комментарий

    Ваш комментарий будет опубликован после прохождения обязательной модерации. Исходящие ссылки не допускаются. Время модерации составит от нескольких минут до нескольких часов в зависимости от времени суток и занятости модератора.