【问题标题】:moving contents from cell to msgbox with spaces?将内容从单元格移动到带有空格的 msgbox?
【发布时间】:2012-12-29 16:00:48
【问题描述】:

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

...如何强制回车到该行的中间?

【问题讨论】:

    标签: excel vba newline msgbox


    【解决方案1】:

    我从未使用过 VBA,但在网上快速搜索后发现:

     "some string" & vbCrLf & "next line"
    

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

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

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2022-12-07
          • 1970-01-01
          • 2014-09-24
          • 1970-01-01
          • 2023-03-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多