vba - 按换行符 VBA 拆分单元格
问题描述
我有一个包含 40 列和约 5000 行的数据集。在 L 和 M 列中有带换行符的多行单元格,我需要将这些行拆分为单独的行,但对于这些新行,其他列中的信息保持相同。我尝试了多个 VBA 代码,但似乎没有一个对两列有用。
解决方案
这适用于数字和字符串,但不适用于公式。它也不适合格式化单元格:
Sub multilineCellsToSeparateCells(rng As Range)
Dim i As Long, j As Long, ubnd As Long
Dim cll As Range
Dim arrVals As Variant, tempVal As Variant, vItem As Variant
With rng
ReDim arrVals(.Rows(1).Row To rng.Rows.Count, 1 To 1) As Variant
For Each cll In rng.Cells
tempVal = cll.Value2
If InStr(1, tempVal, Chr(10)) > 0 Then
vItem = Split(tempVal, Chr(10))
i = i + 1
ubnd = UBound(vItem)
For j = 0 To ubnd
arrVals(i + j, 1) = vItem(j)
Next j
i = i + ubnd
ElseIf tempVal <> vbNullString Then
i = i + 1
arrVals(i, 1) = tempVal
End If
Next cll
.Value2 = arrVals
.AutoFit ' optional
End With
End Sub
例子
在 A 栏中写下:
A1: 1
A2: 2
A3: 3
A4: This
is
a
test
A5: 5
调用Sub
,输出将是:
A1: 1
A2: 2
A3: 3
A4: This
A5: is
A6: a
A7: test
A8: 5
潜艇一次固定一列。像这样调用它:
Call multilineCellsToSeparateCells(Activesheet.Columns("A"))
推荐阅读
- asp.net-web-api - 对 .NET WebApi HttpBinding 的错误请求进行故障排除
- include - 使用 vcpkg 的 PCL 库设置似乎缺少包含文件(尤其是 pcl/可视化)
- python - 如何将在 Flask 服务器上创建的 PIL Image 下载到我的桌面。Image.save() 仅将其保存到服务器。无法通过 URL 访问图像
- java - 使用 Calendar.HOUR_OF_DAY 的条件语句
- ios - Xamarin 应用程序能否确定它在 iOS 14 上是否具有 LAN 访问权限?
- flutter - 从 TextField 中删除所有字符后,flutter_typeahead 未找到建议
- ios - 获取 ERROR ERROR [object Object] 但仅在 ios 上。在电脑上工作正常
- amazon-web-services - AWS Glue 作业因连接超时错误而失败
- yii2 - 我可以在 yii2 中显示后端 web 文件夹之外的图片吗?
- antlr - 将隐藏频道中的评论添加到树时出现 ANTLR4 问题