我有数千个单元格,每个单元格包含三行。我只想保留第一行,丢弃其余行。例如,我只想保留“我需要吃饭才能活下去”这句话。
单元格 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 添加更多值来增加单元格中的最大可能行数。