我正在努力解决问题:
我需要的代码是:
Set myrange = WS.Range(Cells(1, 1), Cells(10, 10))
但这导致400错误。
奇怪的是,这两行中的任何一条都可以正常工作:
Set myrange = WS.Range("a1:b2")
Set myrange = Range(Cells(1, 1), Cells(10, 10))
因此,如果我将外部工作表参考(WS
)与使用单元格引用范围相结合,我似乎只会遇到麻烦。
这可能是什么问题?
答案 0 :(得分:1)
尝试在代码的每个部分中定义工作表:
Set myrange = WS.Range(WS.Cells(1, 1), WS.Cells(10, 10))
'or
With WS
Set myrange = .Range(.Cells(1, 1), .Cells(10, 10))
每个Range无论是使用Range对象调用还是使用Cells对象都需要有一个已定义的工作表。