![Ms Excel VBA - 如何选择单元格直到列末尾,然后将其复制并粘贴到不同的工作表中?](https://linux22.com/image/1632358/Ms%20Excel%20VBA%20-%20%E5%A6%82%E4%BD%95%E9%80%89%E6%8B%A9%E5%8D%95%E5%85%83%E6%A0%BC%E7%9B%B4%E5%88%B0%E5%88%97%E6%9C%AB%E5%B0%BE%EF%BC%8C%E7%84%B6%E5%90%8E%E5%B0%86%E5%85%B6%E5%A4%8D%E5%88%B6%E5%B9%B6%E7%B2%98%E8%B4%B4%E5%88%B0%E4%B8%8D%E5%90%8C%E7%9A%84%E5%B7%A5%E4%BD%9C%E8%A1%A8%E4%B8%AD%EF%BC%9F.png)
我的工作簿中有 3 张工作表。
表 1 - 源数据表 2 和 3 - 我想根据数据的大小将数据从Sheet 1
这里粘贴A1
到列的末尾Sheet 1
。
以下 VBA 脚本将当前工作表 (Sheet 1) 的内容复制到列末尾,然后将其粘贴到Sheet 2
和Sheet 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:XFD1
。Sheet 2
它没有从中复制内容Sheet 1
Worksheets("Sheet 2").Range("A1").PasteSpecial
答案1
我引用你的问题:
复制的内容将粘贴到选定单元格的位置
这是真实的。
这是随机单元格,具体取决于指向的位置
这不一定是。
只需放在worksheets("Sheet 2").Range("A1").Select
粘贴行之前即可。编辑 - 您可能需要分两部分进行,worksheets("worksheet name").Select
然后Range("A1").select
。