Страница: 1 |
Страница: 1 |
Вопрос: For each для автофильтра
Добавлено: 29.08.08 11:29
Автор вопроса: KiZ
Приветствую. Возник вопросик.
Вторая колонка в Экселе стоит с автофильтром больше 1. т.о. Если сделать Range.Select по первой колонке , то она должна выделить только те, которые попали в автофильтр.
Потом делаем так:
If c.Value = "1234" Then
Razdor = Razdor + 1
n_String = c.Row
End If
Next
Но она суммирует Razdor, не только те, которые в автофильтре, но и те, которые не попали в нее. Как мне суммировать с учетом автофильтра?
Ответы
Всего ответов: 6
Номер ответа: 1
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #1
Добавлено: 29.08.08 15:55
1. Выделяешь диапазон.
2. Ставишь автофильтр.
3. Делаешь Выделить видимые ячейки.
4. Парсишь строку с полученным диапазоном выделенных ячеек.
Эта тема ранее поднималась на форуме. Более быстрого, либо способа, а также встроенного метода тогда не было найдено. Сделай поиск по форуму из внешнего поисковика.
Номер ответа: 2
Автор ответа:
KiZ
Вопросов: 27
Ответов: 68
Профиль | | #2
Добавлено: 29.08.08 17:52
Что значит парсишь? Поиском чтоли? а как там проверку сделать, если вдруг не найдет. в моем случае, если Razdor 0, то не нашла и все ок...
блин, но не хочет искать именно по выделеным ячейкам( ищет по столбцу(
Номер ответа: 3
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #3
Добавлено: 02.09.08 09:14
Парсишь, это значит обрабатываешь строку диапазона, например "E3;E5:E9;E21:E22;E25" таким алгоритмом, чтобы получать номера строк, отображенных автофильтром, а в данном случае это будут 3,5,6,7,8,9,21,22,25 В этом и заключается твоя задача. Лучше хорошенько покопаться в поиске, т.к. там есть ГОТОВОЕ и самое быстрое по выполнению решение твоего вопроса.
Номер ответа: 4
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #4
Добавлено: 02.09.08 09:36
Да, если скорость не имеет значения, то просто на каждом шаге проверяешь ячейку: видимая она или нет по свойству .Visible (True/False) и обрабатываешь только видимые ячейки.
Номер ответа: 5
Автор ответа:
KiZ
Вопросов: 27
Ответов: 68
Профиль | | #5
Добавлено: 02.09.08 11:12
+1 за второй ответ. строчек всего 100. там быстро будет. спасибо.
Номер ответа: 6
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #6
Добавлено: 04.09.08 14:34
Пустяки, не за что