Excel:包含多行文本的单元格放入一行文本中

我有大约4000个单元格,每个单元格有大约4个单独的文本行。 每行文本都使用ALT + ENTER方法input。

任何人都可以提出一种方法,无论是VBA或Excel命令/方法将这些单元格中的每一个转换成一行,并在单词之间留有空格。

示例:当前单元格1:

  • 关于

需要:单元格1:

  • 关于马狗

任何帮助深表感谢

试试这个简短的macros:

Sub dural() Dim rng As Range Set rng = Selection rng.Replace what:=Chr(10), lookat:=xlPart, replacement:=" " End Sub 

要做到这一点没有VBA:

使用查找和replace。 在find什么框,按住ALT并input0010(你什么都看不到,但是它是一个新的行字符)。 在replace框中,只需键入一个空格字符。 全部replace。

ALT + ENTER创build一个名为vbLF的字符(用于视觉基本换行)。 你只是想用一个空格replacevbLF,就像这样:

 Sub test() Dim str As String str = Range("A1") Debug.Print str str = Replace(str, vbLf, " ") Debug.Print str End Sub 

把它放在一个循环中:

 Sub test() dim i as integer Dim str As String for i = 1 to 10 '(however many you want, can also be dynamic - use XlUp if you want to) str = Range("A" & i) Debug.Print str str = Replace(str, vbLf, " ") Debug.Print str next End Sub 

在您最喜爱的浏览器上进行一些search: https : //www.ablebits.com/office-addins-blog/2013/12/03/remove-carriage-returns-excel/

如果这是一个“一杆”,不需要创build一个VBAmacros。 更换回车的空间,工作应该完成

我认为这将做你想要的:

 Sub Macro1() Cells.Replace What:=vbLf, Replacement:=" ", LookAt:=xlPart End Sub