【发布时间】:2013-12-04 06:32:18
【问题描述】:
我想编写一个脚本,将带有空白单元格的行合并到前一行中。
示例 1
第 2 行的最后一列有一个空白单元格。因此,它与第 1 行合并。A 列和 B 列保持不变,C 被覆盖,D 被连接。第 2 行已删除。
示例 2
第 2 行和第 3 行的最后一列有空白单元格。因此,它们与第 1 行合并。A 列和 B 列保持不变,C 被覆盖,D 被连接。删除第 2 行和第 3 行。
如何使用 VBA 实现这一点?
编辑:这是我到目前为止所取得的成就。
Sub Merge()
ActiveSheet.UsedRange.Activate
ActiveCell.Offset(0, 4).Select
Do While ActiveCell.Row <= ActiveSheet.UsedRange.Rows.Count
Do While (IsEmpty(ActiveCell.Offset(1, 0).Value) And Not IsEmpty(ActiveCell.Offset(1, -4)))
ActiveCell.Offset(0, -1).Value = ActiveCell.Offset(0, -1).Value + " " + ActiveCell.Offset(1, -1).Value
ActiveCell.Offset(0, -2).Value = ActiveCell.Offset(1, -2).Value
ActiveCell.Offset(1, 0).EntireRow.Delete shift:=xlShiftUp
Loop
ActiveCell.Offset(1, 0).Select
Loop
End Sub
【问题讨论】:
-
你的代码现在有什么问题?