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

Перенос кода процедуры и текста на новую строку
На чтение
10 мин.
Просмотров
130
Дата обновления
13.02.2025
Старт:16.12.2024
Срок обучения:
Менеджер в сфере культуры и искусства. Переподготовка
Станьте менеджером в сфере культуры и искусства за 5 мес. Диплом Москвы. Рассрочка
17 400 ₽25 300 ₽
Подробнее

Перенесите часть кода выражения 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
Оставьте комментарий