如何将数据附加到循环中的列

我的脚本从多个工作表中获取数据并创build一个新的电子表格。 我遇到的问题是如何追加到列的末尾。 我试过这个:

LastRow = Sheets("Test").Cells(Rows.Count, "A").End(xlUp).Row 

LastRow被定义为long,但当我的循环继续时,我遇到了一个错误。 这是我到目前为止:

 Sub autoFill() Dim wb As Workbook, ws As Worksheet Dim LastRow As Long Dim Unit As String Dim ddg As Variant, i As Variant Set wb = ActiveWorkbook Set ws = wb.Worksheets("Mapping") ddg = ws.Range("F4:F21").Value For Each i In ddg Unit = "Unit #" & i LastRow = Sheets("Test").Cells(Rows.Count, "A").End(xlUp).Row Sheets(Unit).Range("A2:A100").Copy Destination:=Sheets("Test").Range("A1" & LastRow) Sheets(Unit).Range("B2:B100").Copy Destination:=Sheets("Test").Range("B1" & LastRow) Next i End Sub 

只要select一个范围的方式,无论最后一行可能在任何列将填充(A在这种情况下),当使用xlUp 。 加1来到下一行:

 LastRow = Sheets("Test").Range("A50000").End(xlUp).Row + 1 

LAstRow现在有一个数字,它等于表Sheet的A列中第一个未使用的行。

现在将这个数字连接到“A”来使得范围如“A50”。 现在你正在做:

 Sheets(Unit).Range("A2:A100").Copy Destination:=Sheets("Test").Range("A1" & LastRow) 

这是连接数字“A1”,所以你得到“A150”这是废话…相反:

 Sheets(Unit).Range("A2:A100").Copy Destination:=Sheets("Test").Range("A" & LastRow)