![]() |
|
Модераторы: mihanik |
![]()
|
|
| Colloseum |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 4.7.2006 Репутация: нет Всего: нет |
У меня ряд объединенных ячеек (по 6-ть штук, но это не обязятельно) с датами.
В этом дипазоне нахожу нужную по заданной дате, как узнать (ширину или адрес) этой ячейки. Это необходимо чтоб опустится на уровень ниже и обработать уже этот узкий диапазон. |
|||
|
||||
| LOPUH |
|
||||||
![]() Растение ![]() Профиль Группа: Участник Сообщений: 245 Регистрация: 15.2.2008 Где: Красноярск Репутация: 3 Всего: 4 |
Так что вам вам все таки нужно? Ладно опробую ответить на несколько вопросов, хотя это не в правилах форума..
Для этого вам скорее всего понадобится свойство .Offset
Это сообщение отредактировал(а) LOPUH - 8.7.2008, 05:36 |
||||||
|
|||||||
| Colloseum |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 4.7.2006 Репутация: нет Всего: нет |
2 LOPUH спасибо за ответ но немного не то (сам виноват, не внятно спросил).
Я чесно говоря не различаю понятия, для меня к примеру если объединить ячейки В2:D2 то это и адрес и размер. Это необходимо для того чтоб более гибко переписать код. Пиведу код уже написанной процедуры.
Присоединённый файл ( Кол-во скачиваний: 5 )
____.rar 22,70 Kb |
|||
|
||||
| LOPUH |
|
|||
![]() Растение ![]() Профиль Группа: Участник Сообщений: 245 Регистрация: 15.2.2008 Где: Красноярск Репутация: 3 Всего: 4 |
Т.е процедура (кстати , не процедура , а функция) у вас написана, работает нормально, но вы хотите оптимизировать код?
|
|||
|
||||
| Colloseum |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 4.7.2006 Репутация: нет Всего: нет |
Да, но в нее жестко зашито как обрабатывать диапазон, и как следствие работает только для четырех столбиков или меньше.
А вот если мне найдя нужную ячейку определить ширину ее, то я б обрабатывал любое кол-во ячеек под ней. И оно было бы гораздо универсальнее. Это сообщение отредактировал(а) Colloseum - 8.7.2008, 11:40 |
|||
|
||||
| LOPUH |
|
|||
![]() Растение ![]() Профиль Группа: Участник Сообщений: 245 Регистрация: 15.2.2008 Где: Красноярск Репутация: 3 Всего: 4 |
Ширина - это количество столбцов?
Если так то метод .CurrentRegion не подойдет?
Это сообщение отредактировал(а) LOPUH - 8.7.2008, 12:06 |
|||
|
||||
| Colloseum |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 4.7.2006 Репутация: нет Всего: нет |
Возвращает всегда единицу.
|
|||
|
||||
| LOPUH |
|
|||
![]() Растение ![]() Профиль Группа: Участник Сообщений: 245 Регистрация: 15.2.2008 Где: Красноярск Репутация: 3 Всего: 4 |
Следовательно, вы берете ячейку, которая либо вообще не соприкасается с другими, либо вместе с соседними образуюет вертикальный столбец, у которого ни справа, ни слева нет занятых ячеек.. Метод .CurrentRegion возвращает прямоугольную область, содержащую все соседние ячейки, неважно в каком соседстве они находятся: справа, слева , выше, ниже или по диагонали.. Ну вот прикрепил простенький пример для иллюстрациии. А вам , как я понял нужно посчитать число столбцов в какой- то обособленной области. Значит возьмите ячейку , которая находится в интересующей вас области, и воспользуйтесь ее методом .CurrentRegion . Это сообщение отредактировал(а) LOPUH - 9.7.2008, 03:54 Присоединённый файл ( Кол-во скачиваний: 4 )
ex.rar 5,76 Kb |
|||
|
||||
| Colloseum |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 4.7.2006 Репутация: нет Всего: нет |
Разобрался, здесь рулит .MergeArea.Count
В моем случае вот так. ВЫБОРИЗ = PeriodRange(x, y).MergeArea.Count 2LOPUH спасибо за участие и навод на правильный ход мыслей. |
|||
|
||||
![]()
|
| Правила форума "Программирование, связанное с MS Office" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще!
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Программирование, связанное с MS Office | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |