使用空格将内容从单元格移动到msgbox?

时间:2012-12-29 16:00:48

标签: excel vba newline msgbox

我有一个有趣的问题 - 我正在尝试编写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

...我怎么能强行回车到那条线的中间?

3 个答案:

答案 0 :(得分:4)

我从未使用过VBA,但在线快速搜索给了我这个:

 "some string" & vbCrLf & "next line"

 "some string " & chr(13) & "next line"

答案 1 :(得分:0)

要插入新行是一个消息框,请使用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

答案 2 :(得分:0)

这取决于你的目标。如果要在显示消息框之前预先格式化Excel中的文本,请在Excel中使用<Alt+Enter>换行,然后VBA将如下所示:

MsgBox Worksheets("Data").cells(1,1).value

如果您打算自动换行,请编写一个函数来剪切字符串并提供长度。

MsgBox WrapText(Worksheets("Data").cells(1,1).value, 20)