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

时间:2015-07-31 15:07:21

标签: excel vba excel-vba

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

任何人都可以建议一种方法,VBA或Excel命令/方法将这些单元格中的每一个转换为一行,单词之间有空格。

实施例: 当前 单元格1:

  • 关于

需要: 单元格1:

  • 关于马狗

非常感谢任何帮助

5 个答案:

答案 0 :(得分:8)

在没有VBA的情况下执行此操作:

使用查找和替换。

在查找内容框中,按住ALT并键入0010 (换行的ASCII代码是10 - 你不会看到任何东西,但它是一个新的行字符。)

在替换框中,只需键入空格字符或任何分隔符。

点击Replace all按钮。

答案 1 :(得分:7)

试试这个短宏:

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

答案 2 :(得分:6)

ALT + ENTER创建一个名为vbLF的角色(用于visual basic Line Feed)。您只想用空格替换vbLF,如下所示:

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

答案 3 :(得分:4)

我认为这会做你想做的事情:

Sub Macro1()

    Cells.Replace What:=vbLf, Replacement:=" ", LookAt:=xlPart

End Sub

答案 4 :(得分:3)

在您喜欢的浏览器上进行一点搜索: UploadPic.PostedFile.InputStream

如果它是一次拍摄"无需创建VBA宏。用空格替换回车,应该完成工作