Объясените новичку, пожалуйста, как определить входит диапазон полностью
в какой-то другой диапазон или нет.
Например, есть заданный диапазон B5:T10. Я хочу написать функцию которая вернет истину для диапазона F6:G9 (он полностью входит в B5:T10)и ложь для диапазона J8:L13 так как он не полностью входит в
B5:T10. Мне приходит на мой короткий ум только анализировать строку
свойства Address, но это очень муторно.

Должны же быть более изяшные
решения.
Здравствуйте PavelT100, Вы писали:
PT>Объясените новичку, пожалуйста, как определить входит диапазон полностью
PT>в какой-то другой диапазон или нет.
Хотя бы так:
Function Encl(r1 As Range, r2 As Range) As Boolean
Encl = (r1.Column <= r2.Column And r1.Row <= r2.Row) And _
(r1.Columns(r1.Columns.Count).Column >= r2.Columns(r2.Columns.Count).Column And _
r1.Rows(r1.Rows.Count).Row >= r2.Rows(r2.Rows.Count).Row)
End Function
Sub Macro1()
MsgBox Encl(Range("B5:T10"), Range("F6:G9"))
MsgBox Encl(Range("B5:T10"), Range("J8:L13"))
End Sub
Смысл в том, что сравниваем верхний левый и нижний правый углы диапазонов (они ведь прямоугольные). Есть одно но — объект Range может содержать несколько выделенных областей (Areas), в данном случае проверяются только первые из них.