VBA Excel:复制具有起始位置和目标位置的列

我想将一个工作表中的列的值复制到另一个已经有行的工作表中。

我想将工作表“源”中列A中的值添加到工作表“dest”中的X列中。 但是我想跳过源列的前两行,并且值应该在第2000行之后插入。

比如像这样:

Workbook.Sheets("source").Columns("A3:A").Copy Destination:=nDestSheet.Range("X2001") 

但是VBA告诉我types不匹配。 我想我只是在语法方面做错了什么。

有人可以帮忙吗?

谢谢!

.Columns接受列号或字母,而不是范围。 这并不重要,因为“A3:A”不是一个有效的范围。

你可能想要

 With Workbook.Sheets("source") .Range(.Range("A3"), .Columns("A").Cells(.UsedRange.Rows(.UsedRange.Rows.Count).Row)).Copy Destination:=nDestSheet.Range("X2001") End With 

如何简单:

 Workbook.Sheets("source").Columns("A").Copy Destination:=nDestSheet.Range("X2001")