用于在Excel工作表之间复制某些单元格的宏

时间:2018-04-27 09:25:03

标签: excel vba excel-vba

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

在一个工作表中,我们在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

1 个答案:

答案 0 :(得分:0)

正确的语法是

O(n log n)

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

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

我建议阅读:How to avoid using Select in Excel VBA