Ms Excel VBA - 如何选择单元格直到列末尾,然后将其复制并粘贴到不同的工作表中?

Ms Excel VBA - 如何选择单元格直到列末尾,然后将其复制并粘贴到不同的工作表中?

我的工作簿中有 3 张工作表。

表 1 - 源数据表 2 和 3 - 我想根据数据的大小将数据从Sheet 1这里粘贴A1到列的末尾Sheet 1

以下 VBA 脚本将当前工作表 (Sheet 1) 的内容复制到列末尾,然后将其粘贴到Sheet 2Sheet 3

Range(Range("A1"), Range("A1").End(xlToRight)).Copy
Worksheets("Sheet 2").Paste
Worksheets("Sheet 3").Paste

问题是复制的内容将被粘贴到选定单元格的位置,该位置是随机单元格,具体取决于指向的位置。

我希望它被复制到特定位置,A1直到其他工作表上列的末尾。

所以我改变了语法。不幸的是,以下尝试没有成功并导致错误。

Worksheets("Sheet 2").Range("A1").Paste

错误是:

Run-time error '438':

Object doesn't support this property or method.

这个正确的语法是什么?

更新

我按照建议更改了最后一个代码,但它只是选中了A1:XFD1Sheet 2它没有从中复制内容Sheet 1

Worksheets("Sheet 2").Range("A1").PasteSpecial

答案1

我引用你的问题:

复制的内容将粘贴到选定单元格的位置

这是真实的。

这是随机单元格,具体取决于指向的位置

这不一定是。

只需放在worksheets("Sheet 2").Range("A1").Select粘贴行之前即可。编辑 - 您可能需要分两部分进行,worksheets("worksheet name").Select然后Range("A1").select

相关内容