这是我的第一篇文章,所以请提供有关我提出问题的方法的任何反馈。
我正在构建一个子(最终)应该将范围从一张(#34; Sandbox")复制到另一张(" Master")。步骤是:
错误会弹出设置PasteSpecial函数的范围。该行始终提供" 1004(方法'范围'对象' _Global'失败"消息。
以下是代码:
Range(sheetMaster.Cells(targetRow, targetColumn)).PasteSpecial xlPasteValues
错误发生在最后一行:
Range(Cells(thisrow.Row, sourceColumn1), Cells(thisrow.Row, sourceColumn2)).Copy _
Destination:=Range(sheetMaster.Cells(targetRow, targetColumn))
令人费解的是,以下似乎有效:
(n {height:100})
|
(n)
|
(n)
|
(n)
|
(n)
不幸的是,我只想要价值观;带来公式和格式会搞砸工作表中的其他行为。
我尝试了很多变化,但基本上它不允许我创建一个范围,引用Master,如果我使用Cells()。
任何帮助都非常感激。
答案 0 :(得分:0)
只是做:
sheetMaster.Cells(targetRow, targetColumn).PasteSpecial xlPasteValues
如果sheetMaster
在运行时不是ActiveSheet,则可能发生错误:
Range(sheetMaster.Cells(targetRow, targetColumn).PasteSpecial) xlPasteValues
另请注意,对于此问题:
不幸的是,我只想要价值观;带来公式和格式会搞砸工作表中的其他行为。
您可以将范围.Value
作为数组获取,并将其直接写入另一个工作表,而无需调用Copy
或Paste/PasteSpecial
方法。下面的答案显示了从一个工作簿复制/粘贴到另一个工作簿的几种方法,但可以很容易地修改为工作表到纸张传输。