设置范围时,活动工作表不是=参考我得到
应用程序定义的对象定义的错误
使用以下方法:
Set Rng = Worksheets("Worksheet2").Range(Cells(2,2),Cells(2,3))
但是当我使用这种方法时它为什么会起作用:
Set Rng = Range(Worksheets("Worksheet2").Cells(2,2),Worksheets("Worksheet2").Cells(2,3))
只是试图理解为什么最后一种方法正常工作,但第一种方法没有。
答案 0 :(得分:2)
您要打破范围,只要Cells
和Range
都应该引用同一个Parent。如果您没有引用其中任何一个,则其父级是活动表:
因此要么明确地为父母两者引用父母:
With Worksheets("worksheets2")
Set Rng = .Range(.Cells(2, 2), .Cells(2, 3))
End With
或将它们留空(因此它将是ActiveSheet):
Set Rng = Range(Cells(2,2),Cells(2,3))
要使这项工作Set Rng = Worksheets("Worksheet2").Range(Cells(2,2),Cells(2,3))
,您必须确保Worksheets2
是您的活动表。
答案 1 :(得分:0)
因为工作表和单元格不能有两个不同的引用。所以它就像
Set Rng = Worksheets("Worksheet2").Range(Worksheets("Worksheet2").Cells(2, 2), Worksheets("Worksheet2").Cells(2, 3))