merge - Excel - 将多列合并为一列

标签 merge excel vba

我有多个列表,它们位于 Excel 的不同列中。我需要做的就是将这些数据列合并成一个大列。我不在乎是否有重复的条目,但我希望它跳过每列的第 1 行。

另外,如果 ROW1 有从 1 月到 12 月的标题,并且列的长度不同并且需要合并为一个大列怎么办?

ROW1| 1   2   3    
ROW2| A   D   G    
ROW3| B   E   H    
ROW4| C   F   I

应该合并成

A    
B    
C    
D    
E    
F    
G    
H    
I

需要跳过每列的第一行。

最佳答案

试试这个。单击数据范围内的任意位置,然后使用此宏:

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

关于merge - Excel - 将多列合并为一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2977660/

相关文章:

xml - 带有 XML 差异和合并的版本控制

merge - Keras 2.0 中的自定义合并层

vba - 使用宏将数据从一列添加到 Excel 中的现有列

vba - 显示上次用户在 vba 中打开共享工作簿的时间

excel - 如何检查Excel-VBA中某些工作表是否存在?

javascript - 通过 Excel VBA 获取 Javascript 变量

Git merge 提交未在 Git/SourceTree 中显示为 merge

c# - 使用 ExcelLibrary 在 C# 中读取 Excel .xlsx 文件时出现 OutOfMemoryException

excel - 工作表位置超出范围。连接已关闭。使用EPPLUS时

svn - 如何在 svn 日志中搜索