我在比较两个范围时遇到问题。为简单起见,我将采用两个简单的范围 M6:M10M6: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
所以也许我不能以这种方式使用“相交”方法......关于如何测试范围包含的任何提示?
非常感谢你!

最佳答案

这是一种方法:

Sub ProperSubSet()
    Dim range1 As Range, range2 As Range, inte As Range
    Dim r As Range

    Set range1 = Range("M6:M10")
    Set range2 = Range("M6:M8")

    For Each r In range2
        If Intersect(r, range1) Is Nothing Then
            MsgBox "range2 is not a proper subset of range1"
        Exit Sub
        End If
    Next r
    MsgBox "range2 is a proper subset of range1"
End Sub

关于vba - 如何使用VBA查找范围是否包含在另一个范围中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36547636/

10-10 18:54