我有大约4000个单元格,每个单元格中有大约4行不同的文本。每行文本都是使用ALT+ENTER方法输入的。
是否有人能够建议一种方法(可以是VBA或Excel命令/方法),将这些每个单元格转换为一行,并在单词之间留有空格。
例如: 当前 单元格1:
- About
- Horse
- Dog
需要: 单元格1:
- About Horse Dog
非常感谢任何帮助。
没有使用VBA的情况下:
使用查找和替换功能。
在查找框中,按住ALT并键入0010
(回车符的ASCII码为10-您看不到任何内容,但它是一个新行字符)。
在替换框中,只需键入一个空格字符或任何分隔符。
单击全部替换
按钮。
Sub dural()
Dim rng As Range
Set rng = Selection
rng.Replace what:=Chr(10), lookat:=xlPart, replacement:=" "
End Sub
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
我认为这个可以达到你的目的:
Sub Macro1()
Cells.Replace What:=vbLf, Replacement:=" ", LookAt:=xlPart
End Sub
在您喜欢的浏览器上进行一次简单搜索:https://www.ablebits.com/office-addins-blog/2013/12/03/remove-carriage-returns-excel/
如果只是一次性操作,无需创建VBA宏。将回车换行符替换为一个空格即可完成任务。