【问题标题】:Excel: Cell with multiple lines of text into one line of textExcel:将多行文本的单元格合并为一行文本
【发布时间】:2015-10-23 07:54:54
【问题描述】:

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

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

示例: 当前的 单元格 1:

  • 关于

需要: 单元格 1:

  • 关于马狗

非常感谢任何帮助

【问题讨论】:

    标签: vba excel


    【解决方案1】:

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

    使用查找和替换。

    在查找内容框中,按住 ALT 并输入 0010 (换行的 ASCII 码是 10 - 你什么都看不到,但它是一个换行符)。

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

    点击Replace all按钮。

    【讨论】:

      【解决方案2】:

      试试这个简短的宏:

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

      【讨论】:

        【解决方案3】:

        ALT+ENTER 创建一个名为 vbLF 的字符(用于 Visual Basic 换行)。您只是想用空格替换 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
        

        【讨论】:

        • 这只会修复单元格 A1。要使用函数Replace 修复所有单元格,您需要遍历所有单元格。
        • 嗯...是的。只需将其放在 for 循环中。如果您认为有必要,我可以添加它。
        • 你有没有计时这段代码循环超过 4000 个单元格?作为一次性练习,这可能就足够了,但我认为这不是一个好方法。
        • 我承认查找和替换会更快——可能不到 1 秒。我的方法可能需要几秒钟。本身没什么戏剧性的,但如果它是更大代码的一部分,则查找和替换是要走的路。
        【解决方案4】:

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

        如果是“一次性”,则无需创建 VBA 宏。用空格替换回车,就可以完成了

        【讨论】:

          【解决方案5】:

          我认为这会做你想要的:

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-12-31
            • 2016-12-11
            • 2017-07-03
            相关资源
            最近更新 更多