ActiveWorkbook.Worksheets("A2) Monthly P&L (Source)").Activate
Range("AR400,BR400").Copy
尝试从这两个单元格中复制一个值,但最终发生的是它将单元格复制到AR400中,然后将单元格复制到右侧单元格,而不是BR400。
答案 0 :(得分:0)
选项1
从您的代码开始,我认为您可以.Copy
两次:
Range("AR400").Copy
' ...pasting...
Range("BR400").Copy
' ...pasting...
但是,Worksheet.Activate
,.Copy
,Worksheet.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”)。