Ячейка принадлежит диапазону (синтаксис)

Nik_Koraman

подскажите плиз как прописать если ячейка принадлежит некоторому диапазону тогда ...заранее спасибо
7 ответов

Nik_Koraman

> Автор: Nik_Koraman> подскажите плиз как прописать если ячейка принадлежит некоторому диапазону тогда ...Если диапазн непрерывный, то1 - у него есть правый верхний угол(строка, столбец)2 - левый нижний угол(строка, столбец)3 - проверяй, что адрес ячейки не выходит за границы квадратаЕсли диапазон состоит из нескольких частей, то0 - у каждой части есть пункт 1 - 34 - проверить для каждой из частей диапазона


Nik_Koraman

а синтаксис то какой, как проверить принадлежит или нет диапазону? или только цыклом можно тупо сравнивать каждую ячейку


Nik_Koraman

> Автор: Nik_Koraman> а синтаксис то какой, как проверить принадлежит или нет диапазону? или только цыклом можно тупо сравнивать каждую > ячейкуещё раз диапазон что имется в виду? часть выделенных ячеек? если да, то у этого выделения(Range) есть координаты углов их можно получить в виде номер строки/столбца двух углов. итого 4 цифры. теперь у тебя есть адрес ячейки, также в номере строки/столбца, итого 2 цифры. теперь нужно написать 1(одно) условие, в котором проверять что номер строки проверяемой ячейки между номером строки верхней границы и нижней границы, тоже и для столбцов.Если твой диапазон состоит из выделенных ячеек в разных местах листа, тогда нужно сделать цикл по этим частья(Areas) и для каждой проверить то-же что и для непрерывного диапазона.


Nik_Koraman

> Автор: Nik_Koraman> а синтаксис то какой, как проверить принадлежит или нет диапазону? или только цыклом можно тупо сравнивать каждую > ячейкуХотя можно и циклом


Nik_Koraman

спасибо большое!


Nik_Koraman

например, так:
Set WorkR = Intersect(Range("A1"), Range("a2:b10", "a31:c10"))
 If Not WorkR Is Nothing Then
 MsgBox "Входит"
 Else
 MsgBox "Выходит"
 End If


Nik_Koraman

> Автор: sergeyvg> например, так:> Set WorkR = Intersect(Range("A1"), Range("a2:b10", "a31:c10"))Супер, а я и не знал, правда и не нужно было.Спасибо