Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: For each для автофильтра Добавлено: 29.08.08 11:29  

Автор вопроса:  KiZ
Приветствую. Возник вопросик.
Вторая колонка в Экселе стоит с автофильтром больше 1. т.о. Если сделать Range.Select по первой колонке , то она должна выделить только те, которые попали в автофильтр.
Потом делаем так:
       For Each c In Selection
         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-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #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-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #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-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #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-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #6
Добавлено: 04.09.08 14:34
Пустяки, не за что ;)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам