如何将列B的所有行粘贴到Excel VBA中的列A的第n行

时间:2015-02-21 11:22:28

标签: excel-vba vba excel

我有两个数据列,如Al A,A2,A3,A4等的Excel中的Col A和Col B. 。 。和B1,B2,B3,B4,..... 现在,我想将Col B数据(B1,B2,B3,B4,......)复制到Col A的每第n行或者复制到奇数行或者偶数行。我更清楚了我的问题,如下图所示,

之前的数据

ColA 
A1     
A2     
A3    
A4    
A5    

ColB有像

这样的数据
B1 
B2
B3
B4
B5

...

我想要ColA数据如下,

A1
B1
A3
B2
A4
B3
A6
B4    and so on

2 个答案:

答案 0 :(得分:0)

这将产生交错排列:

Sub interleave()
    Dim nB As Long
    Dim j As Long, i As Long

    nB = Cells(Rows.Count, "B").End(xlUp).Row
    j = 2

    For i = 1 To nB
        Cells(j, 1).Value = Cells(i, 2).Value
        j = j + 2
    Next i
End Sub

答案 1 :(得分:0)

Sub Interleaved()
  Dim i As Integer, j As Integer

  i = 2
  j = 1

  Do
    Range("A" & i).Value = Range("B" & j).Value
    i = i + 2
    j = j + 1
  Loop Until Range("A" & j) = ""
End Sub