[英]Copy a range from one worksheet to another using cells property
我正在尝试将范围从一个工作表复制到另一个工作表。 我有多个范围,我想在新工作表中的不同点复制和粘贴(例如,我想将第一个范围粘贴到D3,然后将下一个范围粘贴到E12,依此类推),所以我使用用于描述范围的单元格属性。 但是,出于某种原因,当我使用单元格格式而不是仅仅放入字符串来描述我要在新工作表中粘贴的范围时,它不起作用。
这行代码确实有效:
Sheets("Sheet1").Range(Cells(2, 3), Cells(10, 3)).Copy _
Destination:=Sheets("Sheet2").Range("D3")
但这个没有:
Sheets("Sheet1").Range(Cells(2, 3), Cells(10, 3)).Copy _
Destination:=Sheets("Sheet2").Range(Cells(3,4))
当我运行后一行代码时,我得到“运行时错误1004:应用程序定义或对象定义错误”。 为什么这样,我该如何解决?
您指定的是Range的父级而不是Cells的父级。 简而言之,您尝试在Sheet1上定义一系列包含Sheet2上的单元格和/或反之亦然的单元格。
dim ws2 as worksheet
set ws2 = sheets("Sheet2")
with sheets("Sheet1")
.Range(.Cells(2, 3), .Cells(10, 3)).Copy _
Destination:=ws2.Range(ws2.Cells(3,4))
end with
预固定期限(又名.
或句号 )指母公司.Range
和.Cells
与定义的方式...结束与声明 。 为了缩短在Sheet2上正确定义范围所需的代码,我分配了一个工作表类型变量,并用它来显示范围和单元格的父级。
FWIW, ws2.Range(ws2.Cells(3,4))
是多余的。 ws2.Cells(3,4)
就足够了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.