用于在工作表之间复制和粘贴大量数据的VBA宏例程

时间:2016-12-29 13:57:56

标签: excel vba excel-vba

寻找一个VBA例程,它允许在移动数据的长工作表时重复发生相同的复制和粘贴过程。我有兴趣复制一小块细胞,这些细胞在工作表中重复出来,与我需要的下一个选择区域的距离相同。

Sheets("Excel_Essex_Helos_Dump_80520_12").Select
Range("B6").Select
Selection.Copy
Sheets("Sheet1").Select
Range("B4").Select
ActiveSheet.Paste
Sheets("Excel_Essex_Helos_Dump_80520_12").Select
Range("D6").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Sheet1").Select
Range("B5").Select
ActiveSheet.Paste
Sheets("Excel_Essex_Helos_Dump_80520_12").Select
Range("F6").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Sheet1").Select
Range("B6").Select
ActiveSheet.Paste
Sheets("Excel_Essex_Helos_Dump_80520_12").Select
ActiveWindow.SmallScroll Down:=24
Range("A47:A73").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Sheet1").Select
Range("B7").Select
ActiveSheet.Paste

所以基本上下一次我要选择“B79”然后选择“D79”和“F79”等。每个下一个单元格将比前一个单元格多73个单元格。是否有我可以创建的例程,在范围中添加73并重复直到完成?

1 个答案:

答案 0 :(得分:0)

这不是答案,但您可以轻松复制>>粘贴,而不是始终使用SelectActiveSheet

如果要复制(并包含格式和/或公式),请使用:

With Sheets("Excel_Essex_Helos_Dump_80520_12")
    .Range("B6").Copy Destination:=Sheets("Sheet1").Range("B4")
End With

如果您只想复制可以使用的值:

With Sheets("Excel_Essex_Helos_Dump_80520_12")
    Sheets("Sheet1").Range("B4").Value = .Range("B6").Value
End With

现在,您可以合并源和目标工作表的行号和列号。