vba如何提取单元格内每一行内容或如何获取单元格换行字符 60

该问题的关键是如何识别自动换行的单元格内文本自动换行的位置,而且是批量的提取出来。单元格内没有换行符,当文本内容大于显示列宽时,文本自动换呈多行显示。... 该问题的关键是如何识别自动换行的单元格内文本自动换行的位置,而且是批量的提取出来。单元格内没有换行符,当文本内容大于显示列宽时,文本自动换呈多行显示。 展开
 我来答
鱼木混猪哟
高粉答主

推荐于2018-03-14 · 专注Office,尤其Excel和VBA
鱼木混猪哟
采纳数:6078 获赞数:33692

向TA提问 私信TA
展开全部

步骤如下:

1.将A1按换行符分开到B之后的列中:

2.alt+F11,输入如下代码:

3.F5运行代码,结果如下:

世界喜欢不一样
2014-09-25 · TA获得超过2372个赞
知道大有可为答主
回答量:1546
采纳率:50%
帮助的人:633万
展开全部
请测试下面的代码,思路是先将A列的内容连接在一起,然后用split根据改行拆分成各行写入B列。
Sub 改行拆分()
Dim str As String
Dim i As Integer, j As Integer, k As Integer, ar, arr
For i = ActiveSheet.UsedRange.Rows.Count To 1 Step -1
If Len(Cells(i, 1)) > 0 Then
str = Cells(i, 1).Text & Chr(10) & str
End If
Next i

ar = Split(str, Chr(10))
ReDim arr(1 To UBound(ar) + 1, 1 To 1)
For i = 0 To UBound(ar)
k = k + 1
arr(k, 1) = ar(i)
Next
With Cells(1, 2)
.EntireColumn.NumberFormatLocal = "@"
.Resize(k) = arr
End With
End Sub
更多追问追答
追问
你好首先感谢你的回答但抱歉的是你的代码没用,测试其功能是a列复制到b列,b列不自动换行而已
追答
图片上的A列单元格中的是Alt+Enter的换行符?还是符合列宽的换行?
在本机测试完全没有问题。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lzhuan665
2014-09-25 · TA获得超过147个赞
知道小有建树答主
回答量:267
采纳率:25%
帮助的人:91.1万
展开全部
splitdata = Split(Range("G3").Value, Chr(10)) 用 split 来提取字符串
更多追问追答
追问
你好你的这个也没效果谢谢
追答
我怀疑你的换行不是换行符,所以导致split 函数无法使用 你把列拉宽点 字数是否改变?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式