-1
A
回答
3
下面是一些代碼,以幫助您在您的方式:
Sub test()
Dim r1 As Range, r2 As Range, r3 As Range
Set r1 = Range("A1:A5")
Set r2 = Range("A3:A6")
Set r3 = Application.Intersect(r1, r2)
If Not r3 Is Nothing Then
If r3.Cells.Count = r2.Cells.Count Then
MsgBox "there is a complete intersection"
Else
MsgBox "there is some overlap"
End If
Else
MsgBox "there is no overlap"
End If
End Sub
應該是不言自明。隨着@TimWilliams的帽子尖端發佈了一條評論。根據您的澄清要求
UPDATE
Sub getIntersectingNames(r As Range)
For Each Nm In ActiveWorkbook.Names
If Not Application.Intersect(r, Range(Nm)) Is Nothing Then
MsgBox Nm.Name & " intersects"
End If
Next
End Sub
Sub test()
' pop up a message box for every range that intersects cell B2:
getIntersectingNames [B2]
End Sub
Function listIntersectingNames(r As Range)
Dim result() As String
ReDim result(1 To ActiveWorkbook.Names.Count)
Dim matchCount As Integer
matchCount = 0
For Each Nm In ActiveWorkbook.Names
If Not Application.Intersect(r, Range(Nm)) Is Nothing Then
matchCount = matchCount + 1
result(matchCount) = Nm.Name
End If
Next
ReDim Preserve result(1 To matchCount)
listIntersectingNames = result
End Function
Sub test2()
' return an array of names of all ranges that intersect cell B3:
ans = listIntersectingNames([B3])
s = ""
For Each r In ans
s = s & r & vbCrLf
Next
MsgBox s
End Sub
我不知道你是怎麼挺想「迴歸的名單」,所以我給一對夫婦在上面的選項。讓我知道您是否可以將此應用於您的情況,或者您是否需要更多?
1
進一步擴大了什麼Tim和弗洛裏說,見下圖:
Dim myNamedRange As Range, mySelection As Range, myIntersect As Range
Set mySelection = Selection '~~> gets your selection
Set myNamedRange = Range("RangeA") '~~> can be declared or directly pass to Intersect
Set myIntersect = Intersect(mySelection, myNamedRange)
'~~> Then use intersect
If Not myIntersect Is Nothing Then
If myIntersect.Address = myNamedRange.Address Then
MsgBox "Your named range is within your selection."
Else
MsgBox "Your named range is beyond your selection."
End If
Else
MsgBox "Your named range is beyond your selection."
End If
End Sub
這是基於其命名範圍RangeA
您的實際問題與選擇進行比較。
希望這會有所幫助。
+0
@simoco更正。 :)謝謝simoco! – L42
相關問題
- 1. 檢查範圍是否是一個命名範圍
- 2. 檢查當前日期是否在假期日期範圍內
- 3. 檢查值是否在範圍內php
- 4. XML元素的命名空間「TR」「」是在當前範圍內
- 5. 檢查範圍內
- 6. 檢查範圍內是否有值
- 7. 如何檢查當前時間是否在ios的指定範圍內?
- 8. 如何檢查當前操作是否在對象的範圍內?
- 9. 如何檢查當前時間是否落在特定時間範圍內?
- 10. 如何使用selenium IDE檢查當前時間是否在特定範圍內?
- 11. 如何使用jQuery/javascript檢查當前時間是否在特定範圍內?
- 12. 檢查時間範圍是否在另一個時間範圍
- 13. 檢查我是否在範圍內我的無線網絡
- 14. 如何檢查perl範圍內的範圍?
- 15. 查找當前時間是否在一個範圍內
- 16. 檢查與另一範圍對應的範圍是否爲空
- 17. 如何檢查日期是否在MySQL的範圍內?
- 18. 如何檢查copy_if是否在ostream_iterator的範圍內返回true?
- 19. 對象_global的方法範圍在命名範圍內失敗
- 20. 如何檢查變量是否在範圍內或在C++中
- 21. PHP檢查時間範圍是否在一個時間範圍內
- 22. 休眠。檢查日期範圍是否在另一個日期範圍內
- 23. 檢查一個日期範圍是否在另一個範圍內
- 24. 檢查ipAddress是否在私人範圍
- 25. 如何檢查所選日期範圍是否在另一個日期範圍
- 26. 如何檢查數字是否在給定範圍內?
- 27. 如何檢查數字是否在一定範圍內?
- 28. 如何檢查日期是否在給定範圍內?
- 29. 如何檢查一個角色是否在一個範圍內
- 30. 如何檢查數字是否在一個範圍內?
看看'Application.Intersect()' –
@TimWilliams我冒昧地將你的評論擴展爲一個答案... – Floris
@TimWilliams這真棒,我更期待如果我不知道RangeA。像查看選擇中的所有命名範圍。抱歉不清楚。無論如何,這將幫助我。 – elb0w