如何仅保留多行单元格中的第一行文本?

如何仅保留多行单元格中的第一行文本?

我有数千个单元格,每个单元格包含三行。我只想保留第一行,丢弃其余行。例如,我只想保留“我需要吃饭才能活下去”这句话。

单元格 A1

I need to eat to live.
I live to eat.
I love to eat and live.

我希望我的解释有意义:)

谢谢。

答案1

创建一个辅助列,并在顶行使用以下公式:

=TRIM(LEFT(A1,FIND(CHAR(10),A1)))

然后将其拖至整个列下方。

复制所有辅助列并粘贴值。然后您可以删除 A 列。

它的工作原理CHAR(10)是找到第一个换行符,然后将所有内容放在其左边。

只留下每个单元格的第一行。

答案2

Selection.TextToColumns Destination:=Selection, _
                        DataType:=xlDelimited, _
                        Other:=True, _
                        OtherChar:= Chr(10), _
                        FieldInfo:=Array(Array(1, 1), _
                                         Array(2, 9), _
                                         Array(3, 9))

更新

多一点信息会有帮助

创建新的宏(VBA 编辑器 - 添加模块 - 创建具有某些名称的子程序,或宏 - 输入某些名称 - 创建,然后将此代码插入宏主体)。然后选择一个单元格、一列或仅包含 1 列的范围(其中包含需要上述截断的单元格),然后运行创建的宏。

如果某个单元格包含超过 3 行文本,宏将要求您替换另一个单元格的内容 - 取消以保护您的数据。

您可以自由编辑文本,并通过向 FieldInfo 添加更多值来增加单元格中的最大可能行数。

相关内容