如何指定“复制列vba”的开始行?

我正在使用以下string将一个列从一个表复制到另一个

Dim wsCore As Worksheet Dim wsData As Worksheet Set wsCore = Sheets("R2 Data Dump") Set wsData = Sheets("Active") Dim rowNumber As Integer Dim cellFormulas As Variant Dim cellFormulas1 As Variant Dim counter As Integer counter = 0 Dim currentCell As String Dim importSheetCell As Variant Dim importSheetOffset As Variant Dim contractnum As Integer Dim pt As PivotTable Dim ws As Worksheet Dim pc As PivotCache Dim lastrow As Long Set wsCore = Sheets("R2 Data Dump") Set wsData = Sheets("Active") Sheets("R2 Data Dump").Visible = True Sheets("R2 Data Dump").Select rowNumber = ActiveSheet.UsedRange.Rows.Count With wsCore Startrow = 3 wsCore.Columns("W").Copy Destination:=wsData.Columns("A") wsCore.Columns("B").Copy Destination:=wsData.Columns("B") wsCore.Columns("C").Copy Destination:=wsData.Columns("C") wsCore.Columns("D").Copy Destination:=wsData.Columns("D") End With. 

那么,复制一张表中的特定列并将其粘贴到目标表的指定列上。 我的问题是,动作开始粘贴复制的单元格从源表格到目标单元格上的第一行。 我想知道的是,我怎样才能设置一个行号,而不是行1开始粘贴。

通常,您将转到列中的第一个空白单元格(从下往上看)。

 With Intersect(wsCore.Columns("A:W"), wsCore.UsedRange) .Columns("W").Copy Destination:=wsData.Cells(Rows.Count, "A").End(xlUp).Offset(1, 0) .Columns("B").Copy Destination:=wsData.Cells(Rows.Count, "B").End(xlUp).Offset(1, 0) .Columns("C").Copy Destination:=wsData.Cells(Rows.Count, "C").End(xlUp).Offset(1, 0) .Columns("D").Copy Destination:=wsData.Cells(Rows.Count, "D").End(xlUp).Offset(1, 0) End With 

如果你想指定一行,声明一个长variables并使用它。

 Dim rw As Long rw = 10 With Intersect(wsCore.Columns("A:W"), wsCore.UsedRange) .Columns("W").Copy Destination:=wsData.Cells(rw, "A") .Columns("B").Copy Destination:=wsData.Cells(rw, "B") .Columns("C").Copy Destination:=wsData.Cells(rw, "C") .Columns("D").Copy Destination:=wsData.Cells(rw, "D") End With 

我已经使用Intersect来防止尝试将完整列复制到不在第一行开始的列。 整列不适合。