EXCEL VBA:将列从一个工作表追加到另一工作表的末尾

时间:2018-08-21 11:10:03

标签: excel vba excel-vba

我目前有以下内容将工作表2的第一列复制到工作表1的第一列

Sheets("Sheet2").Columns(1).Copy Destination:=Sheets("Sheet1").Columns(1)

但是,这会覆盖其中的内容-如何将数据附加到已经存在的内容中?

谢谢

2 个答案:

答案 0 :(得分:1)

尝试复制UsedRangeColumn(x)的交集,并粘贴到使用范围下方的行:

With Sheets("Sheet2")
    Intersect(.UsedRange, .Columns(1)).Copy Sheets("Sheet1").Cells(Rows.Count,1).End(xlup).Offset(1,0)
End With

答案 1 :(得分:1)

尝试

dim arr as variant, i as long

arr = array("A", "B", "C", "G", "H", "I")

With Worksheets("Sheet2")
    for i=lbound(arr) to ubound(arr)
        .Range(.Cells(1, arr(i)), .Cells(.Rows.Count, arr(i)).End(xlUp)).Copy _
            Destination:=Worksheets("Sheet1").Cells(.Rows.Count, arr(i)).End(xlUp).Offset(1, 0)
    next i
End With