首页 > 解决方案 > 用于在 Excel 工作表之间复制某些单元格的宏

问题描述

我想制作一个宏,它将用户在一张纸上标记的某些单元格值复制到另一张纸上,但复制到不同的单元格中。

在一个工作表中,我们有从 A1 到 D1 的单元格中的数据,我的目标是将它们粘贴到第二个工作表中,但粘贴到另一个单元格(在我的情况下为 A2、A4、A6、A8)

而且,当有人复制例如四个以上的单元格时,它也会在接下来粘贴它们(B2、B4、B6、B8 等等..)

我已经管理过这样的事情,但它不起作用

Sub sbCopyRangeToAnotherSheet()
'Copy the data
Sheets("Arkusz2").Range("A2:D2").Copy
Sheets("Arkusz1").Activate
'Select the target range
Range("A2", "A5", "A8", "A11").Select
'Paste in the target destination
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub

标签: vbaexcel

解决方案


正确的语法是

Sub sbCopyRangeToAnotherSheet()
    Sheets("Arkusz2").Range("A2:D2").Copy
    Sheets("Arkusz1").Range("A2,A5,A8,A11").PasteSpecial
    Application.CutCopyMode = False
End Sub

或者你甚至可以在一行中完成:

Sub sbCopyRangeToAnotherSheet()
    Sheets("Arkusz2").Range("A2:D2").Copy Sheets("Arkusz1").Range("A2,A5,A8,A11")
End Sub

我建议阅读:如何避免在 Excel VBA 中使用 Select


推荐阅读