复制多个单元格VBA无法正常工作

时间:2015-04-10 15:39:12

标签: vba

ActiveWorkbook.Worksheets("A2) Monthly P&L (Source)").Activate
Range("AR400,BR400").Copy

尝试从这两个单元格中复制一个值,但最终发生的是它将单元格复制到AR400中,然后将单元格复制到右侧单元格,而不是BR400。

1 个答案:

答案 0 :(得分:0)

选项1

从您的代码开始,我认为您可以.Copy两次:

Range("AR400").Copy
' ...pasting...
Range("BR400").Copy
' ...pasting...

但是,Worksheet.Activate.CopyWorksheet.Activate其他工作表(据称.Select.Paste通常不太好。当您编写编码过程时,激活(或选择)表和选择单元格实在令人沮丧。没有优势 - 执行速度慢,写入更多。

选项2

如果要复制/粘贴值,请使用更快且推荐的选项:

ActiveWorkbook.Worksheets("Sheet2").Range("A1") = ActiveWorkbook.Worksheets("A2) Monthly P&L (Source)").Range("AR400")

这样,“Sheet2”中的单元格A1将立即从Sheet“A2)Monthly P& L(Source)”中的单元格AR400中获取值。

同样,您需要使用它两次来粘贴另一个范围(“BR400”)。