Excel VBA用字符串中的空格替换新行(Enter)

Excel VBA用字符串中的空格替换新行(Enter),excel,vba,newline,Excel,Vba,Newline,我想用空格替换字符串中的所有输入。 例如,代码应该变成: line 1 content line 2 content line 3 content 进入: 以下是一个真实的示例文本: 卖出1.15910英镑瑞士法郎 获利1报1.15710 获利2报1.15410 以1.14910的价格买入利润3 止损于1.16510 任何帮助都会被拒绝 如果是关于单元格中的字符串,请使用下一个代码: Sub testReplaceLfAndAddSpace() Dim strTest As Strin

我想用空格替换字符串中的所有输入。 例如,代码应该变成:

line 1 content
line 2 content

line 3 content
进入:

以下是一个真实的示例文本:

卖出1.15910英镑瑞士法郎

获利1报1.15710

获利2报1.15410

以1.14910的价格买入利润3

止损于1.16510


任何帮助都会被拒绝

如果是关于单元格中的字符串,请使用下一个代码:

Sub testReplaceLfAndAddSpace()
   Dim strTest As String
   strTest = Replace(ActiveCell.value, vbCrLf & vbCrLf, vbCrLf)
   If UBound(Split(ActiveCell.value, vbCrLf)) <> 0 Then
      ActiveCell.Offset(, 1).value = Replace(strTest, vbCrLf, " ")
   Else
      strTest = Replace(ActiveCell.value, vbLf & vbLf, vbLf)
      ActiveCell.Offset(, 1).value = Replace(strTest, vbLf, " ")
   End If
End Sub
子测试replacelfandaddspace()
将strTest设置为字符串
strTest=Replace(ActiveCell.value,vbCrLf&vbCrLf,vbCrLf)
如果UBound(Split(ActiveCell.value,vbCrLf))为0,则
ActiveCell.Offset(,1).value=Replace(strTest,vbCrLf,“”)
其他的
strTest=Replace(ActiveCell.value,vbLf&vbLf,vbLf)
ActiveCell.Offset(,1).value=Replace(strTest,vbLf,“”)
如果结束
端接头

它将在同一行的下一个单元格中返回结果。

..也许
vbCrLf
@Gary的学生:
VbLf
应该足够使用
Alt+Enter
插入行。在这种情况下,
VbCrLf
将无法执行此任务。。。现在,这取决于他有什么样的绳子。(对我来说)它更有可能是人工建造的。但是,谁知道呢?如果代码不起作用,他(可能)会告诉我们……:)此代码不起作用。我在问题中添加了一个真实的示例文本,更新后的代码也适用于
WbCrLf
WbLf
。它还解决了连续行之间有一条空行(存在或不存在)的情况。请刷新页面…这些行在同一单元格中吗?这些行是通过按
Alt+Enter
获得的吗?文本可能是从不同来源复制的,因此可能是Alt+Enter或其他内容。但是,讨论中的文本是否在单个单元格中?如果是,两个连续行之间是否有空格(空行)?我正在查看您的示例,但我无法理解这一方面……我更新了我的答案代码,以便为
VbVrLf
VbLf
工作。但是,它适用于单元格中的字符串(或字符串本身),没有空行……是的,它是单个单元格,可能是连续行之间的空行!
Sub testReplaceLfAndAddSpace()
   Dim strTest As String
   strTest = Replace(ActiveCell.value, vbCrLf & vbCrLf, vbCrLf)
   If UBound(Split(ActiveCell.value, vbCrLf)) <> 0 Then
      ActiveCell.Offset(, 1).value = Replace(strTest, vbCrLf, " ")
   Else
      strTest = Replace(ActiveCell.value, vbLf & vbLf, vbLf)
      ActiveCell.Offset(, 1).value = Replace(strTest, vbLf, " ")
   End If
End Sub