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

Перенос кода процедуры и текста на новую строку
На чтение
8 мин.
Просмотров
21
Дата обновления
06.11.2024

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

Содержание 1. Перенести часть выражения в новую строку 2. Комбинация операторов в строке 3. Программный перенос текста в другую строку

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

 

1 2 3 4 5 Оператор / выражение «Каждая строка — это» Dim a As Long, b As Long a = 12 b = a + 25

 

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

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

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

Пример 1

Процедуры без передачи и с передачей части кода оператора:

 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Код оператора ‘Процедура без переноса’ Sub Primer_1_1 () Dim a As Long, b As Long a = 12 * 7 — 15/5 + 36 b = a + 25 + 36 * 15-5 MsgBox b End Sub ‘Процедура с переносом’ коды операторов Sub Primer_1_2 () Dim a As Long, _ b As Long a = 12 * 7-15 _ / 5 + 36 b = a + 25 + 36 _ * 15-5 MsgBox b End Sub

 

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

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

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

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

Пример 2

Процедуры без профсоюза и с профсоюзом:

 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Процедура операторов без комбинации ‘Sub Primer_2_1 () Dim a As Long, b As Long, c As Long a = 12 b = a + 25 c = a * b MsgBox c Завершить процедуру подоператоров с комбинацией’ Sub Primer_2_2 () Dim a до длины, b до длины, c до длины a = 12: b = a + 25: c = a * b: MsgBox c End Sub

 

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

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

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

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

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

Пример 3

Давайте проверим эффективность вышеуказанных ключевых слов, программно переведя текст на новые строки в ячейке и информационном окне MsgBox:

 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 Sub Primer_3 () ‘Перенос текста в диапазон ячеек («B2») = «Первая строка + vbCr» & vbCr & _ «Вторая строка + vbLf» & vbLf & _ «Третья строка + vbCrLf» & vbCrLf & _ «Четвертая строка + vbNewLine «& vbNewLine & _» Пятая строка «‘Перенос текста в информационном окне MsgBox» Первая строка + vbCr «& vbCr & _» Вторая строка + vbLf «& vbLf & _» Третья строка + vbCrLf «& vbCrLf & _» Четвертая строка + vbNewLine «& vbNewLine & _» Пятая строка «End Sub

 

В результате получилось следующее:

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

Результат четырех переносов текста на новую строку

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

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

0 Комментариев
Комментариев на модерации: 0
Оставьте комментарий