2013-01-12 24 views
2

我想将列的值从一个工作表复制到另一个已具有行的工作表。VBA Excel:复制具有开始位置和目标位置的列

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

例如像这样:

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

但VBA告诉我一个类型不匹配。 我想我只是在语法方面做错了事。

有人可以帮忙吗?

谢谢!

回答

3

.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 
+0

非常感谢你!!!! – tmighty

0

怎么样简单:

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

请给予更多解释。欢迎来到堆栈溢出。 – Krishanbhag