【问题标题】:How to remove empty lines within multiple lines that reside in one cell?如何删除驻留在一个单元格中的多行中的空行?
【发布时间】:2011-05-12 20:55:05
【问题描述】:

我使用 VBA 将结果从 Outlook 转换为 Excel。有些单元格在一个单元格中包含多行,像这样

line 1
line 2



another line


final line

我尝试了正则表达式“^$”来删除空行。

更糟糕的是,由于所有行都在一个单元格中,我无法使用公式来合并它们。

字里行间是什么?我使用“^$”来匹配它们并替换为“”。这意味着什么都没有留下,但空行仍然在那里。我还删除了“chr(13)”。

【问题讨论】:

  • 两行之间的符号是 chr(10)。您的更改超出了我的答案,因此我对其进行了编辑。

标签: vba excel-2007


【解决方案1】:

要删除所有换行符吗?

YourResult = replace(replace(YourCellValue, chr(10), ""), chr(13), "")

或者你只是想删除空行?

[编辑] 上面的答案没有经过测试。我现在看到分隔行的字符是 chr(10),所以你只需要替换它:

YourResult = replace(YourCellValue, chr(10), "")

另外,如果您想保留多行,但删除空行,您可以将两个换行符替换为一个,然后重复该步骤直到没有任何更改:

Function FixLines(value As String)
  Do
    s = value
    value = Replace(value, Chr(10) & Chr(10), Chr(10))
  Loop Until value = s
  FixLines = value
End Function

YourResult = FixLines(YourCellValue)

【讨论】:

  • 这是我在谷歌搜索的所有答案中对这个问题的最佳答案。谢谢你,GolezTol!
猜你喜欢
  • 1970-01-01
  • 2011-02-18
  • 2016-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-10
  • 1970-01-01
相关资源
最近更新 更多