-1
Sub CombineColumns()
Dim rng As Range
Dim iCol As Integer
Dim lastCell As Integer

Set rng = ActiveCell.CurrentRegion
lastCell = rng.Columns(1).Rows.Count + 1

For iCol = 2 To rng.Columns.Count
   Range(Cells(1, iCol), Cells(rng.Columns(iCol).Rows.Count, iCol)).Cut
   ActiveSheet.Paste Destination:=Cells(lastCell, 1)
   lastCell = lastCell + rng.Columns(iCol).Rows.Count
Next iCol
End Sub

这个宏对我在一个单元格中组合多个列很有帮助。它们可能已经合并,我的问题是每个数据之间至少有 5 个空白行。

这是我的旧数据样本(尚未合并)ABC 1 Single Married Married 2 Married Married 3 Single

使用上面的宏后,发生了以下情况:ABC 1 Single 2 3 4 5 6 7 Married 8 Maried 9 Single 10 11 12 13 14 15 Married 16 Married

我的工作表中的列:A-SR,很多。如果我只有几个,我可以手动删除空白行。

如何删除那些空白行,我必须在上面的宏中添加一些东西来将多列合并为一列,并连续粘贴数据?

谢谢!

4

1 回答 1

0

请尝试将 End Sub 替换为:

Columns("A:A").Select
    Selection.SpecialCells(xlCellTypeBlanks).Select
    Selection.Delete Shift:=xlUp
End Sub
于 2013-09-21T16:45:59.867 回答