我有一个有趣的问题 - 我正在尝试编写 VBA 代码,它将获取单元格的内容并将其放入 msgbox。问题是我不知道如何将回车符放入这个字符串中。
我的代码看起来像这样。
Dim myMsg as string
myMsg = Worksheets("Data").cells(1,1)
msgBox myMsg
所以,如果单元格A1
包含...
THIS IS MY NEXT AND NOW THIS IS A NEW LINE
...我怎样才能强制回车到该行的中间?
我从未使用过 VBA,但在线快速搜索给了我这个:
"some string" & vbCrLf & "next line"
和
"some string " & chr(13) & "next line"
要插入一个新行是一个消息框,请使用 vbCrLF。
所以,假设你想在每次有反斜杠时换行。你会使用:
Msgbox Replace(ActiveCell.Value, "\", vbCrLF)
要适应示例代码的范围,请使用:
Dim myMsg as string
Dim newLineCharacter as string
newLineCharacter = "\" ' Replace with your delimiter
myMsg = Replace(Worksheets("Data").cells(1,1), newLineCharacter, vbCrLf)
msgBox myMsg
这取决于你的目标是什么。如果您想在显示在消息框之前在 Excel 中预先格式化文本,使用<Alt+Enter>
Excel 换行,那么您的 VBA 将如下所示:
MsgBox Worksheets("Data").cells(1,1).value
如果您打算自动换行,请编写一个函数来剪切字符串并提供长度。
MsgBox WrapText(Worksheets("Data").cells(1,1).value, 20)