Как добавить новую строку в код vba?
В VBA есть три разные константы для добавления разрыва строки.
- vbNewLine
- вбКрЛф
- vbLf
vbNewLine
vbNewLine вставляет символ новой строки, который переходит в новую строку. В строке кода ниже вы объединяете две строки с помощью this.
Range("A1") = "Line1" & vbNewLine & "Line2"
Когда вы запускаете этот макрос , он возвращает строку в две строки.

Он возвращает символы 13 и 10 (Chr(13) + Chr(10)). Вы также можете использовать код следующим образом для достижения того же результата.
Range("A1") = "Line1" & Chr(13) & Chr(10) & "Line2"
Но когда вы используете vbNewLine, вам не нужно использовать функцию CHAR.
вбКрЛф
Константа vbCrLf означает возврат каретки и перевод строки. Это означает, что Cr перемещает курсор в начало строки, а Lf перемещает курсор на следующую строку.
Когда вы используете vbCrLf в двух строках или значениях, как в следующем коде, он вставляет новую строку.
Range("A1") = "Line1" & vbCrLf & "Line2"

vbLf
Константа vbLf обозначает символ новой строки, и когда вы используете ее в двух строках, она возвращает символ новой строки, который добавляет новую строку для второй строки.
Range("A1") = "Line1" & vbLf & "Line2"

Добавить новую строку в VBA MsgBox
Если вы хотите добавить новую строку при использовании VBA MsgBox, вы можете использовать любую из трех констант, которые мы обсуждали выше.
MsgBox "Line1" & vbNewLine & "Line2" MsgBox "Line1" & vbCrLf & "Line2" MsgBox "Line1" & vbLf & "Line2"
Существует также константа vbCr, которая возвращает символ возврата каретки, который можно использовать для вставки новой строки в окно сообщения.
MsgBox "Line1" & vbCr & "Line2"
vbCr не будет работать, если вы хотите ввести значение ячейки, пока не примените к нему текст-переноску .