【发布时间】:2016-04-11 11:37:34
【问题描述】:
我在比较两个范围时遇到问题。为简单起见,我将采用两个简单的范围M6:M10 和M6:M8,我想知道第二个是否包含在第一个中,而我想的第一件事是写
Sub example()
Dim range1, range2, inte As range
Set range1 = range("M6:M10")
Set range2 = range("M6:M8")
Set intersec = Intersect(range1, range2)
If intersec = range2 Then
[if statement]
End If
End Sub
但此过程返回以下错误:
PRB: Error 13 (Type Mismatch) & Error 3061 w/ SQL Queries
所以也许我不能以这种方式使用“相交”方法......关于如何测试范围包含的任何提示? 非常感谢!
【问题讨论】:
-
Dim range1, range2, inte As range声明range1和range2是变体(不是这就是问题)另外 - 您提到的错误似乎与您显示的代码无关,但很可能隐藏在方括号中。 -
还有 intersect 方法 如果不相交,则不返回任何内容,这可能是一个问题。您应该首先检查 intersect 是否为 Nothing
-
你能确认是哪一行产生了错误吗?怀疑是
If intersec = range2 Then。如果您要确认 intersec 和 range2 完全重叠,请尝试:If intersec.Address = range2.Address Then。