Cla*_*ric 6 excel vba excel-vba
我有大约4000个单元格,每个单元格有大约4个单独的文本行.已使用ALT + ENTER方法输入每行文本.
任何人都可以建议一种方法,VBA或Excel命令/方法将这些单元格中的每一个转换为一行,单词之间有空格.
示例:当前单元格1:
需要:细胞1:
任何帮助深表感谢
小智 8
要做到这一点没有VBA:
使用查找和替换.
在查找内容框中,按住ALT并键入0010
(换行的ASCII代码为10 - 您将看不到任何内容,但它是一个新行字符).
在替换框中,只需键入空格字符或任何分隔符.
点击Replace all按钮.
试试这个短宏:
Sub dural()
Dim rng As Range
Set rng = Selection
rng.Replace what:=Chr(10), lookat:=xlPart, replacement:=" "
End Sub
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
将它放在一个循环中:
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
Run Code Online (Sandbox Code Playgroud)
我认为这会做你想要的:
Sub Macro1()
Cells.Replace What:=vbLf, Replacement:=" ", LookAt:=xlPart
End Sub
Run Code Online (Sandbox Code Playgroud)