Страницы: 1
RSS
Задать критерий ячейки для проверки принадлежности к диапазону., Задать критерий ячейки для проверки принадлежности к диапазону.
 
Добрый день!
Помогите с такой проблемой.
Есть таблица, в этой таблице пользователь может выделить диапазон ячейки и макросом над этим диапазоном создается строка с именем раздела, а под этим диапазонам - две строки с промежуточными суммами.
Проблема заключается в том, что необходимо проверить при последующих запусках макроса, что выдделенный диапазон находится вне пределов уже созданого (ограниченого новыми создаными строками). Проблема возникла именно с тем, как проверить. Задать ячейкам критерии, которые ограничивают диапазон, но какие?
Шрифты, цвета и прочие атрибуты форматирования не подходят, поскольку пользователь может их поменять на свое усмотрение. Более того, между упомянутыми строками могут добавляться строки пользователем вручную, без макроса.
Может кто сможет подсказать, что можно сделать?
Спасибо!
 
Для проверки в коде можно использовать, что-то типа
Код
If Intersect(Диапазон - 1, Диапазон - 2) Is Nothing Then 'Если диапазоны НЕ пересекаются, то...
Согласие есть продукт при полном непротивлении сторон
 
Спасибо!

Но про такое думал и не получилось:
  1. Макрос запускается каждый раз когда нужно создать раздел. Поэтому если имя диапазона это переменная, то после окончания макроса она уже не доступна.
  2. Количество разделов может варьироваться от 1 до ..... , зависит от потребности.  Т.е. добавляються строки и создается раздел. Поэтому заранее количество диапазонов предусмотреть не получится.
 
Цитата
davidtro3 написал:
Макрос запускается каждый раз когда нужно создать раздел
Когда создаете раздел - давайте ему собственное имя. Имя диапазона ячеек. Range(...).Name = "..." Придумайте алгоритм, по которому имена будут присваиваться. А дальше - как посоветовал Sanja.
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
 
Код
Public Sub www()
    Dim x As Range
    Set x = [d:d].Find("Сумма", [d1], xlFormulas, 2, 2, 2)
    If Not x Is Nothing Then Cells(x.Row + 1, 2).Select
End Sub
Я сам - дурнее всякого примера! ...
 
На скрытом листе своим макросом ведите журнал сделанных изменений.
При очередном запуске макроса, проверяйте соответствие интересующего вас диапазона с журналом изменений.
Страницы: 1
Наверх