VBA for Excel:如何连接驻留在一个单元格中的多个行?

时间:2010-11-19 20:54:48

标签: vba excel-2007

我从使用VBA的excel获得了一些结果。然而,有一些细胞在一个细胞中保持多条线,就像这样

line 1
line 2



another line


final line

我首先尝试使用正则表达式“^ $”来删除空行,但它不起作用。

更糟糕的是,因为所有行都在一次单元格中,所以我不能使用公式来合并它们。

任何帮助都会非常感激!

顺便说一下,这两行之间有什么关系?我使用“^ $”来匹配它们并用“”替换。这意味着什么都没有留下。但是,仍然有空行。我也删除了“chr(13)”。

1 个答案:

答案 0 :(得分: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)