我试图将列从一张纸复制到另一张 . 为了避免“选择”,我编写了类似workheet.range.copy的代码 . 出于某种原因,下面的代码给了我错误 . 如果我替换Range(“A2”) . End(xlDown)with let say“A100”,那么代码将起作用 .
Sub CopyData()
MTDData.Range("A2", Range("A2").End(xlDown)).Copy
MTDFormula.Range("H2").PasteSpecial Paste:=xlPasteValuesAndNumberFormats
End Sub
任何建议为什么上面的代码给出错误,并且有更有效的方法将大块数据从一个工作表复制并粘贴到另一个工作表 .
2 回答
复制大型值集的最快方法是不使用剪贴板而是直接使用副本 .
但你必须先找到细胞的大小 . 这是通过以下可重用的代码完成的:
所以你的复制代码看起来像这样:
您需要将父表添加到范围内的范围:
但我们可以使用
With
块并节省一些打字和空格 . 此外,您不需要专门的pastes .