0
我有一个看起来像这样的数据...希望Excel采取多列,并将它们堆叠成两列
a 1 c 3 e 5
b 2 d 4 f 6
而且我想在VBA编写一个脚本把它变成这样...
a 1
b 2
c 3
d 4
e 5
f 6
换句话说,每两列将被堆叠成两个新列。
以下代码适用于单列...我如何才能使它工作两个? 例如,是否有一种方法可以为每个字母列运行两次...一次,然后再为每个编号列运行一次?或者可能完全干净?
Sub StackColumns()
Dim X As Long, LastColumn As Long
LastColumn = Cells.Find(What:="*", SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious, LookIn:=xlValues).Column
For X = 1 To LastColumn
Columns(X).Resize(Cells(Rows.Count, X).End(xlUp).Row).Copy _
Cells(Rows.Count, LastColumn + 1).End(xlUp).Offset(-(X > 1))
Next
On Error Resume Next
Columns(LastColumn + 1).SpecialCells(xlBlanks).Delete xlShiftUp
End Sub`
谢谢。但是,如果有两行以上的话呢? – user2192778
这将是对代码..........的简单更改,但您需要定义准确的映射................当前代码实际传输从一张纸到另一张的** 4 **细胞块。 –