Home / VBA / How to Add a New Line (Carriage Return) in a String in VBA
In VBA, there are three different (constants) to add a line break.
- vbNewLine
- vbCrLf
- vbLf
vbNewLine
vbNewLine inserts a newline character that enters a new line. In the below line of code, you have two strings combined by using it.
Range("A1") = "Line1" & vbNewLine & "Line2"
When you run this macro, it returns the string in two lines.
It returns the character 13 and 10 (Chr(13) + Chr(10)). You can use a code in the following way as well to get the same result.
Range("A1") = "Line1" & Chr(13) & Chr(10) & "Line2"
But when you use vbNewLine you don’t need to use CHAR function.
vbCrLf
vbCrLf constant stands for Carriage Return and Line feed, which means Cr moves the cursor to the starting of the line, and Lf moves the cursor down to the next line.
When you use vbCrLf within two string or values, like, you have in the following code, it inserts a new line.
Range("A1") = "Line1" & vbCrLf & "Line2"
vbLf
vbLf constant stands for line feed character, and when you use it within two strings, it returns line feed character that adds a new line for the second string.
Range("A1") = "Line1" & vbLf & "Line2"
If you want to add a new line while using the VBA MsgBox you can use any of the above three constants that we have discussed.
MsgBox "Line1" & vbNewLine & "Line2"
MsgBox "Line1" & vbCrLf & "Line2"
MsgBox "Line1" & vbLf & "Line2"
There’s also a constant vbCr that returns carriage return character that you can use to insert a new line in a message box.
MsgBox "Line1" & vbCr & "Line2"
vbCr won’t work if you want to enter a cell value until you apply wrap text to it.
Перенос части кода одного выражения VBA Excel на другую строку. Объединение нескольких операторов в одной строке. Программный перенос текста на новую строку.
Обратите внимание, что в этой статье слова «оператор» и «выражение» употребляются в одном значении. Они обозначают минимальный исполняющийся код VBA, расположенный в одной строке.
‘Каждая строка — один ‘оператор/выражение Dim a As Long, b As Long a = 12 b = a + 25 |
Перенос части выражения на новую строку
Деление длинного оператора на части улучшит его читаемость, сделает код процедуры более наглядным и компактным, не позволит ему уходить за пределы видимого экрана справа.
Переносимые на новые строки части кода одного выражения разделяются символом нижнего подчеркивания (_), который ставится обязательно после пробела. Этот символ указывает компилятору VBA Excel, что ниже идет продолжение текущей строки.
Пример 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 покажет одинаковый результат.
Иногда пишут, что для переноса кода добавляется пробел с символом подчеркивания. Так легче запомнить и не забыть, что перед знаком подчеркивания обязательно должен быть пробел. Но на самом деле, как видите из примера выше, пробелы уже есть в исходном коде, и мы добавили только символы подчеркивания.
Объединение операторов в одной строке
Множество коротких выражений в коде VBA Excel можно объединить в одной строке. Для этого используется символ двоеточия с пробелом «: », который указывает компилятору, что за ним идет следующий оператор.
Пример 2
Процедуры без объединения и с объединением операторов:
‘Процедура без объединения ‘операторов Sub Primer_2_1() Dim a As Long, b As Long, c As Long a = 12 b = a + 25 c = a * b MsgBox c End Sub ‘Процедура с объединением ‘операторов Sub Primer_2_2() Dim a As Long, b As Long, c As Long a = 12: b = a + 25: c = a * b: MsgBox c End Sub |
Во втором примере, как и в первом, информационное окно MsgBox покажет одинаковый результат.
Программный перенос текста на другую строку
Для программного переноса произвольного текста на новую строку в VBA Excel используются следующие ключевые слова:
- vbCr – возврат каретки;
- vbLf – перевод строки;
- vbCrLf – возврат каретки и перевод строки, аналог нажатия клавиши «Enter»;
- vbNewLine – новая строка.
Выражения «возврат каретки» и «перевод строки» идут от механических пишущих машин (печатных машинок).
Пример 3
Проверяем работоспособность перечисленных выше ключевых слов по программному переносу текста на новые строки в ячейке и информационном окне MsgBox:
Sub Primer_3() ‘Перенос текста в ячейке Range(«B2») = «Первая строка + vbCr» & vbCr & _ «Вторая строка + vbLf» & vbLf & _ «Третья строка + vbCrLf» & vbCrLf & _ «Четвертая строка + vbNewLine» & vbNewLine & _ «Пятая строка» ‘Перенос текста в информационном окне MsgBox «Первая строка + vbCr» & vbCr & _ «Вторая строка + vbLf» & vbLf & _ «Третья строка + vbCrLf» & vbCrLf & _ «Четвертая строка + vbNewLine» & vbNewLine & _ «Пятая строка» End Sub |
Получился следующий результат:
Результат четырех переносов текста на новую строку
Как видно на изображении, ключевое слово «vbCr» не сработало в ячейке для переноса текста на другую строку, хотя сработало в информационном окне MsgBox.
Ключевые слова «vbCr» и «vbLf» я использовал исключительно для ознакомления, а на практике следует применять для переноса текста на новую строку – «vbCrLf» и «vbNewLine».
109 / 56 / 1 Регистрация: 10.11.2012 Сообщений: 178 |
|
1 |
|
16.11.2012, 12:20. Показов 79029. Ответов 31
Добрый день. как вывести сообщение в MsgBox() в несколько строк. у меня весь текст в одну строчку выходит.
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
16.11.2012, 12:20 |
Ответы с готовыми решениями: перенос строк Перенос однотипных данных из 20 файлов более 15млн строк Excel в Access Есть 15 файлов Excel. В каждом файле есть от одной до 3 вкладок. На каждой вкладке… msgBox Подобие msgbox Каких бы размеров не было сообщение, окно с сообщением… 31 |
BigOblom 123 / 123 / 17 Регистрация: 30.06.2010 Сообщений: 478 |
||||
16.11.2012, 12:24 |
2 |
|||
Не знаю как в Access, в Delphi используют символ переноса строки #13. В C# n Вот нашел
1 |
sekonya 608 / 387 / 8 Регистрация: 14.04.2011 Сообщений: 1,324 |
||||
16.11.2012, 12:48 |
3 |
|||
можно так:
5 |
ltv_1953 17142 / 7008 / 1567 Регистрация: 21.06.2012 Сообщений: 13,113 |
||||
16.11.2012, 12:53 |
4 |
|||
Есть специальная константа vbCr.
3 |
Maxsss 16 / 16 / 0 Регистрация: 10.09.2012 Сообщений: 113 |
||||
06.12.2012, 17:15 |
6 |
|||
Есть специальная константа vbCr. День добрый!
не переносит.
0 |
17142 / 7008 / 1567 Регистрация: 21.06.2012 Сообщений: 13,113 |
|
06.12.2012, 17:36 |
7 |
Попробуйте vbCrLf.
0 |
16 / 16 / 0 Регистрация: 10.09.2012 Сообщений: 113 |
|
06.12.2012, 21:40 |
8 |
0 |
1300 / 506 / 63 Регистрация: 09.08.2012 Сообщений: 2,056 |
|
06.12.2012, 22:18 |
9 |
недавно на форуме кто-то ответил Ну а в Msgbox можно и просто Chr(13) или Chr(10).
0 |
ltv_1953 17142 / 7008 / 1567 Регистрация: 21.06.2012 Сообщений: 13,113 |
||||
06.12.2012, 23:32 |
10 |
|||
vbCrLf -тоже не помогает. Не знаю, почему у Вас не работает.
нормально работает.
0 |
alvk 7267 / 4469 / 288 Регистрация: 12.08.2011 Сообщений: 13,512 |
||||
07.12.2012, 07:35 |
11 |
|||
Вот так у меня работает уже не один год:
0 |
16 / 16 / 0 Регистрация: 10.09.2012 Сообщений: 113 |
|
07.12.2012, 15:01 |
12 |
Ищя ответ на вопрос, наткнулся на эту тему. В Excel для пользовательских форм ни vbNewLine ни vbCrLf не помогают.
0 |
0 / 0 / 0 Регистрация: 19.01.2018 Сообщений: 3 |
|
25.11.2019, 05:20 |
13 |
В самой форме для ControlTipText можно поставить перенос строк комбинацией Ctrl+Enter.
0 |
7267 / 4469 / 288 Регистрация: 12.08.2011 Сообщений: 13,512 |
|
25.11.2019, 05:36 |
14 |
Надо же, всего 7 лет прошло и уже такое вумное решение нарисовалось, ай молодца!
0 |
0 / 0 / 0 Регистрация: 19.01.2018 Сообщений: 3 |
|
25.11.2019, 07:19 |
15 |
Знаю ))) видел, сейчас столкнулся с данным вопросом, нашел очередное решение — пополнил копилку знаний. Может еще кому пригодится.
0 |
7267 / 4469 / 288 Регистрация: 12.08.2011 Сообщений: 13,512 |
|
25.11.2019, 07:33 |
16 |
пополнил копилку знаний А про версию Акцесс забыл? За это время вышло 3 новых версии, в которых что-то отрезали, что-то обратно пришили.
0 |
0 / 0 / 0 Регистрация: 19.01.2018 Сообщений: 3 |
|
25.11.2019, 07:53 |
17 |
В версиях Access 2003, 2010 работает.
0 |
Модератор 5122 / 2529 / 628 Регистрация: 12.06.2016 Сообщений: 6,749 |
|
25.11.2019, 10:17 |
18 |
А про версию Акцесс забыл? За это время вышло 3 новых версии, в которых что-то отрезали, что-то обратно пришили. Работать будет везде. Это стандартное поведение — получение новой строки в тексте сочетанием клавиш. См. в справке для свойства поля формы EnterKeyBehavior (Поведение по Enter) —
0 |
7267 / 4469 / 288 Регистрация: 12.08.2011 Сообщений: 13,512 |
|
25.11.2019, 16:48 |
19 |
Работать будет везде. Факт вашего комментария видимо, вам виднее.
0 |
Модератор 11338 / 4657 / 748 Регистрация: 07.08.2010 Сообщений: 13,494 Записей в блоге: 4 |
|
25.11.2019, 16:59 |
20 |
Capi,
См. в справке для свойства поля формы EnterKeyBehavior (Поведение по Enter) — Если для этого свойства не установлено значение «Новая строка в поле», необходимо нажать сочетание клавиш CTRL + ВВОД, чтобы ввести новую строку в текстовое поле
0 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
25.11.2019, 16:59 |
20 |
Содержание
- Функция MsgBox
- Синтаксис
- Параметры
- Возвращаемые значения
- Примечания
- Пример
- См. также
- Поддержка и обратная связь
- VBA Excel. Перенос кода процедуры и текста на новую строку
- Перенос части выражения на новую строку
- Объединение операторов в одной строке
- VBA Excel. Работа с текстом (функции)
- Функции для работы с текстом
- Ключевые слова для работы с текстом
- Примеры
- Вывод прямых парных кавычек
Функция MsgBox
Выводит сообщение в диалоговом окне, ожидает нажатия кнопки пользователем и возвращает значение типа Integer, которое указывает, какая кнопка была нажата.
Хотите создавать решения, которые расширяют возможности Office на разнообразных платформах? Ознакомьтесь с новой моделью надстроек Office. Надстройки Office занимают меньше места по сравнению с надстройками и решениями VSTO, и вы можете создавать их, используя практически любую технологию веб-программирования, например HTML5, JavaScript, CSS3 и XML.
Синтаксис
MsgBox (сообщение, [ кнопки, ] [ заголовок, ] [ файл_справки, контекст ])
Синтаксис функции MsgBox включает следующие именованные аргументы:
Часть | Описание |
---|---|
сообщение | Обязательный аргумент. Строковое выражение, отображающееся в диалоговом окне. Максимальная длина строки аргумента сообщение составляет приблизительно 1024 знака и зависит от их ширины. Если запрос состоит из нескольких строк, можно разделить строки с помощью символа возврата каретки (Chr(13)), символа канала строк (Chr(10)) или символа возврата каретки — сочетания символов канала строки (Chr(13) &Chr(10)) между каждой строкой. |
кнопки | Необязательный аргумент. Числовое выражение, являющееся комбинацией значений, указывающих количество и тип отображаемых кнопок, стиля значков, выбранной по умолчанию кнопки и модальности окна сообщения. Если аргумент кнопки пропущен, по умолчанию используется значение 0. |
заголовок | Необязательный аргумент. Строковое выражение, отображаемое в заголовке диалогового окна. Если аргумент заголовок пропущен, в заголовке выводится имя приложения. |
файл_справки | Необязательный аргумент. Строковое выражение, определяющее файл, в котором содержится контекстная справка для данного диалогового окна. Если задан аргумент файл_справки, необходимо также указать аргумент контекст. |
контекст | Необязательный аргумент. Числовое выражение, представляющее собой номер контекста, присвоенный автором справки соответствующему разделу. Если задан аргумент контекст, необходимо также указать аргумент файл_справки. |
Параметры
Константа | Значение | Описание |
---|---|---|
vbOKOnly | 0 | Отображается только кнопка ОК. |
vbOKCancel | 1 | Отображаются кнопки ОК и Отмена. |
vbAbortRetryIgnore | 2 | Отображаются кнопки Прервать, Повторить и Пропустить. |
vbYesNoCancel | 3 | Отображаются кнопки Да, Нет и Отмена. |
vbYesNo | 4 | Отображаются кнопки Да и Нет. |
vbRetryCancel | 5 | Отображаются кнопки Повторить и Отмена. |
vbCritical | 16 | Отображается значок важного сообщения. |
vbQuestion | 32 | Отображение значка Warning Query (Запрос с предупреждением). |
vbExclamation | 48 | Отображение значка Warning Message (Сообщение с предупреждением). |
vbInformation | 64 | Отображается значок информационного сообщения. |
vbDefaultButton1 | 0 | По умолчанию активна первая кнопка. |
vbDefaultButton2 | 256 | По умолчанию активна вторая кнопка. |
vbDefaultButton3 | 512 | По умолчанию активна третья кнопка. |
vbDefaultButton4 | 768 | По умолчанию активна четвертая кнопка. |
vbApplicationModal | 0 | Модальность на уровне приложения. Пользователь должен ответить на сообщение, чтобы продолжить работу в текущем приложении. |
vbSystemModal | 4096 | Модальность на уровне системы. При ожидании ответа пользователя на сообщение приостанавливается работа всех приложений. |
vbMsgBoxHelpButton | 16384 | Добавляет кнопку Справка в окно сообщения. |
vbMsgBoxSetForeground | 65536 | Расположение окна сообщения на переднем плане. |
vbMsgBoxRight | 524288 | Текст выравнивается по правому краю. |
vbMsgBoxRtlReading | 1048576 | Система чтения справа налево для иврита и арабского языка. |
Первая группа значений (0–5) отражает число и тип кнопок в диалоговом окне. Вторая группа (16, 32, 48, 64) описывает стиль значка сообщения. Третья группа (0, 256, 512) определяет активную по умолчанию кнопку. Наконец, четвертая группа (0, 4096) устанавливает модальность сообщения. При объединении чисел в итоговое значение аргумента buttons следует использовать только один аргумент из каждой группы.
Приведенные здесь константы определены в Visual Basic для приложений, что позволяет заменять ими числовые значения в любом месте программы.
Возвращаемые значения
Константа | Значение | Описание |
---|---|---|
vbOK | 1 | OK |
vbCancel | 2 | Отмена |
vbAbort | 3 | Прервать |
vbRetry | 4 | Повторить |
vbIgnore | 5 | Пропустить |
vbYes | 6 | Да |
vbNo | 7 | Нет |
Примечания
Если одновременно указаны аргументы файл_справки и контекст, пользователь может нажать клавишу F1 (Windows) или HELP (Macintosh) для просмотра раздела справки, соответствующего аргументу контекст. Некоторые ведущие приложения, например Microsoft Excel, автоматически добавляют кнопку Справка в диалоговое окно.
Если в диалоговом окне есть кнопка Отмена, ее нажатие равносильно нажатию клавиши ESC. Если в диалоговом окне есть кнопка Справка, для него доступна контекстная справка. Однако до нажатия какой-либо другой кнопки никакое значение не возвращается.
Для указания более одного именованного аргумента необходимо использовать функцию MsgBox в выражении. Чтобы пропустить некоторые из позиционных аргументов, нужно вставить соответствующие запятые.
Пример
В приведенном ниже примере функция MsgBox используется для вывода сообщения о критической ошибке в диалоговом окне с кнопками Да и Нет. Кнопка Нет выбрана по умолчанию. Значение, возвращаемое функцией MsgBox, зависит от нажатой пользователем кнопки. Предполагается, что DEMO.HLP является файлом справки и содержит раздел под номером контекста 1000 .
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Источник
VBA Excel. Перенос кода процедуры и текста на новую строку
Перенос части кода одного выражения VBA Excel на другую строку. Объединение нескольких операторов в одной строке. Программный перенос текста на новую строку.
Перенос части выражения на новую строку
Деление длинного оператора на части улучшит его читаемость, сделает код процедуры более наглядным и компактным, не позволит ему уходить за пределы видимого экрана справа.
Переносимые на новые строки части кода одного выражения разделяются символом нижнего подчеркивания (_), который ставится обязательно после пробела. Этот символ указывает компилятору VBA Excel, что ниже идет продолжение текущей строки.
Пример 1
Процедуры без переноса и с переносом части кода операторов:
Вы можете скопировать код Примера 1 и проверить его работоспособность. В обоих случаях информационное окно MsgBox покажет одинаковый результат.
Иногда пишут, что для переноса кода добавляется пробел с символом подчеркивания. Так легче запомнить и не забыть, что перед знаком подчеркивания обязательно должен быть пробел. Но на самом деле, как видите из примера выше, пробелы уже есть в исходном коде, и мы добавили только символы подчеркивания.
Объединение операторов в одной строке
Множество коротких выражений в коде VBA Excel можно объединить в одной строке. Для этого используется символ двоеточия с пробелом «: », который указывает компилятору, что за ним идет следующий оператор.
Пример 2
Процедуры без объединения и с объединением операторов:
Источник
VBA Excel. Работа с текстом (функции)
Работа с текстом в коде VBA Excel. Функции, оператор & и другие ключевые слова для работы с текстом. Примеры использования некоторых функций и ключевых слов.
Функции для работы с текстом
Основные функции для работы с текстом в VBA Excel:
Функция | Описание |
---|---|
Asc(строка) | Возвращает числовой код символа, соответствующий первому символу строки. Например: MsgBox Asc(«/Stop»). Ответ: 47, что соответствует символу «/». |
Chr(код символа) | Возвращает строковый символ по указанному коду. Например: MsgBox Chr(47). Ответ: «/». |
Format(Expression, [FormatExpression], [FirstDayOfWeek], [FirstWeekOfYear]) | Преобразует число, дату, время в строку (тип данных Variant (String)), отформатированную в соответствии с инструкциями, включенными в выражение формата. Подробнее… |
InStr([начало], строка1, строка2, [сравнение]) | Возвращает порядковый номер символа, соответствующий первому вхождению одной строки (строка2) в другую (строка1) с начала строки. Подробнее… |
InstrRev(строка1, строка2, [начало, [сравнение]]) | Возвращает порядковый номер символа, соответствующий первому вхождению одной строки (строка2) в другую (строка1) с конца строки. Подробнее… |
Join(SourceArray,[Delimiter]) | Возвращает строку, созданную путем объединения нескольких подстрок из массива. Подробнее… |
LCase(строка) | Преобразует буквенные символы строки в нижний регистр. |
Left(строка, длина) | Возвращает левую часть строки с заданным количеством символов. Подробнее… |
Len(строка) | Возвращает число символов, содержащихся в строке. |
LTrim(строка) | Возвращает строку без начальных пробелов (слева). Подробнее… |
Mid(строка, начало, [длина]) | Возвращает часть строки с заданным количеством символов, начиная с указанного символа (по номеру). Подробнее… |
Replace(expression, find, replace, [start], [count], [compare]) | Возвращает строку, полученную в результате замены одной подстроки в исходном строковом выражении другой подстрокой указанное количество раз. Подробнее… |
Right(строка, длина) | Возвращает правую часть строки с заданным количеством символов. Подробнее… |
RTrim(строка) | Возвращает строку без конечных пробелов (справа). Подробнее… |
Space(число) | Возвращает строку, состоящую из указанного числа пробелов. Подробнее… |
Split(Expression,[Delimiter],[Limit],[Compare]) | Возвращает одномерный массив подстрок, извлеченных из указанной строки с разделителями. Подробнее… |
StrComp(строка1, строка2, [сравнение]) | Возвращает числовое значение Variant (Integer), показывающее результат сравнения двух строк. Подробнее… |
StrConv(string, conversion) | Изменяет регистр символов исходной строки в соответствии с заданным параметром «conversion». Подробнее… |
String(число, символ) | Возвращает строку, состоящую из указанного числа символов. В выражении «символ» может быть указан кодом символа или строкой, первый символ которой будет использован в качестве параметра «символ». Подробнее… |
StrReverse(строка) | Возвращает строку с обратным порядком следования знаков по сравнению с исходной строкой. Подробнее… |
Trim(строка) | Возвращает строку без начальных (слева) и конечных (справа) пробелов. Подробнее… |
UCase(строка) | Преобразует буквенные символы строки в верхний регистр. |
Val(строка) | Возвращает символы, распознанные как цифры с начала строки и до первого нецифрового символа, в виде числового значения соответствующего типа. Подробнее… |
WorksheetFunction.Trim(строка) | Функция рабочего листа, которая удаляет все лишние пробелы (начальные, конечные и внутренние), оставляя внутри строки одиночные пробелы. |
В таблице перечислены основные функции VBA Excel для работы с текстом. С полным списком всевозможных функций вы можете ознакомиться на сайте разработчика.
Ключевые слова для работы с текстом
Ключевое слово | Описание |
---|---|
& | Оператор & объединяет два выражения (результат = выражение1 & выражение2). Если выражение не является строкой, оно преобразуется в Variant (String), и результат возвращает значение Variant (String). Если оба выражения возвращают строку, результат возвращает значение String. |
vbCrLf | Константа vbCrLf сочетает в себе возврат каретки и перевод строки (Chr(13) + Chr(10)) и переносит последующий текст на новую строку (результат = строка1 & vbCrLf & строка2). |
vbNewLine | Константа vbNewLine в VBA Excel аналогична константе vbCrLf, также сочетает в себе возврат каретки и перевод строки (Chr(13) + Chr(10)) и переносит текст на новую строку (результат = строка1 & vbNewLine & строка2). |
Примеры
Вывод прямых парных кавычек
Прямые парные кавычки в VBA Excel являются спецсимволами и вывести их, заключив в самих себя или в одинарные кавычки (апострофы), невозможно. Для этого подойдет функция Chr:
Источник
New Line in VBA MsgBox
Aligning the sentence is very important to convey the right message to the users or readers. To make the sentence proper, we use “new paragraph” or newline as one of the techniques. It usually happens in Word documents. If you have this question, then this article eases your worry. Follow this article completely to learn about the new line in VBA.
In Excel, when we want to insert a new line character, we either press Ctrl + Enter to insert a new line break or use the CHR function with 10. In VBA programming, using newline breakers to frame sentences is almost inevitable. But the question is, how can we insert a new VBA line breaker?
Table of contents
- New Line in VBA MsgBox
- How to Insert New Line in VBA MsgBox?
- Example #1 – Insert New Line in VBA MsgBox Using “vbNewLine.”
- Example #2 – Insert New Line Using “Char (10)”
- Example #3 – Insert New Line Using “vbCrLf, vbCr, vbLf”
- Recommended Articles
You are free to use this image on your website, templates, etc, Please provide us with an attribution linkArticle Link to be Hyperlinked
For eg:
Source: VBA New Line (wallstreetmojo.com)
How to Insert New Line in VBA MsgBox?
We have seen people using several ways to insert newlines in VBA. So, in this article, we have decided to show you each of them in detail.
Before we show you how to insert a new line in VBA, let us show you why you need to insert lines in VBA. For example, look at the below image.
We have framed the sentence in the message without inserting any new lines in the VBA codesVBA code refers to a set of instructions written by the user in the Visual Basic Applications programming language on a Visual Basic Editor (VBE) to perform a specific task.read more. Now, look at the below image.
Suppose you look at the above two images, which one looks neat and clean. Both convey the same message but having a look at both the images. You decide which is better for you and continue reading to learn the second image.
Example #1 – Insert New Line in VBA MsgBox Using “vbNewLine.”
To insert the new line in VBA, we can use the VBA ConstantUsing the VBA “Const” word we can declare constants just like how we declare variables using the “Dim” keyword. After declaring a constant, it cannot be modified later.read more “vbNewLine.”
As the name says, it will insert a new line between sentences or characters. For example, look at the below code.
Code:
Sub Type_Example1() MsgBox "Hi Welcome to VBA Forum!!!. We will show you how to insert new line in this article" End Sub
In the above code, we have two sentences. The first one is “Hi, Welcome to VBA Forum!” And the second one is, “We will show you how to insert a new line in this article.”
The above shows these sentences in a single line, only like the below image.
When the sentences are too large, it often creates ambiguity in the readers’ minds, or it doesn’t look pleasant. As a result, readers do not want to read at all.
To avoid all these things, we can show the message in two lines instead of the default line after the first line sentence closes the double quotes and puts the ampersand (&) symbol.
Code:
Sub Type_Example1() MsgBox "Hi Welcome to VBA Forum!!!."& End Sub
After the ampersand (&) symbol, press the spacebar and get the VBA constant “vbNewLine.”
Code:
Sub Type_Example1() MsgBox "Hi Welcome to VBA Forum!!!." & vbNewLine End Sub
After the constant “vbNewLine,” press one more time space bar and add the ampersand (&) symbol.
Code:
Sub Type_Example1() MsgBox "Hi Welcome to VBA Forum!!!." & vbNewLine & End Sub
After the second ampersand (&) symbol, type one more space character, and add the next line sentence in double quotes.
Code:
Sub Type_Example1() MsgBox "Hi Welcome to VBA Forum!!!." & vbNewLine & "We will show you how to insert new line in this article" End Sub
We have done it. Run the code to see the two sentences in two lines.
If you are unhappy with the single line breaker, insert one more line breaker by entering one more new line inserter in VBA MsgboxVBA MsgBox function is an output function which displays the generalized message provided by the developer. This statement has no arguments and the personalized messages in this function are written under the double quotes while for the values the variable reference is provided.read more using “vbNewLine.”
Code:
Sub Type_Example1() MsgBox "Hi Welcome to VBA Forum!!!." & vbNewLine & vbNewLine & "We will show you how to insert new line in this article" End Sub
Above bold and underlined words will insert two line breakers between sentences, and the result is as below.
Example #2 – Insert New Line Using “Char (10)”
To a new line instead of “vbNewLine,” we can also use the function CHR to insert a new line in VBAVBA CHR is an inbuilt text/string function that returns the printable and non-printable characters present on the keyboard and understands the computer assigned with specific ASCII codes.read more. For example, CHR (10) is the code to insert a new line in VBA. Below is an example of the same.
Code:
Sub Type_Example1() MsgBox "Hi Wecome to VBA Forum!!!." & Chr(10) & Char(10) & "We will show you how to insert new line in this article" End Sub
Example #3 – Insert New Line Using “vbCrLf, vbCr, vbLf”
We can also use the constants “vbCrLf, vbCr, vbLf” to insert the new line breaker. Below are examples of the same.
Code:
Sub Type_Example1() MsgBox "Hi Welcome to VBA Forum!!!" & vbLf & vbLf & "We will show you how to insert new line in this article" End Sub
Code:
Sub Type_Example1() MsgBox "Hi Welcome to VBA Forum!!!" & vbCr & vbCr & "We will show you how to insert new line in this article" End Sub
Code:
Sub Type_Example1() MsgBox "Hi Welcome to VBA Forum!!!" & vbCrLf & vbCrLf & "We will show you how to insert new line in this article" End Sub
You can download this VBA New Line Excel here. VBA New Line Excel Template
Recommended Articles
This article has been a guide to VBA New Line. Here, we learned how to insert a new line in VBA MsgBox Using “vbNewLine,” “Char(10),” and “vbCrLf, vbCr, vbLf” to insert the new line breaker along with practical examples and download the Excel template. Below are some useful Excel articles related to VBA: –
- Excel VBA Selection Range
- AND Function in VBA
- VBA Excel Pivot Table
- VBA Today Function