vba 如何实现单元格内换行

2025-04-12 23:38:43
推荐回答(2个)
回答(1):

假设你的数据在A列,从A1开始.我们可以这么些VBA
Sub
aa()
Dim
i,
a,
b,
c
'定义变量
For
i
=
1
To
Range("A65536").End(xlUp).Row
'循环A列所有有数据的区域
c
=
Cells(i,
1).Value
'取得当前单元格的值给c
b
=
Left(c,
InStr(c,
"
"))
'截取单元格中的日期给b
a
=
Right(c,
Len(c)
-
InStr(c,
"
"))
'截取单元格中的时间给c
Cells(i,
1)
=
b
&
vbCrLf
&
a
'在日期和时间加上换行符vbcrlf,再写入当前单元格
Next
End
Sub

回答(2):

先找到换行符的ascii码 一般是10 你自己试一下
这样就可以用split来将句子分隔成一个字符串数组
然后在写入单元格的代码里用一个循环依次写入
假定我的句子存在a1 现在要从a2往下换行写入 代码如下
public sub asd()
st = cells(1, 1)
a = split(st, chr(10))
for i = 0 to ubound(a)
cells(i + 2, 1) = a(i)
next
end sub
效果如下图