не пойму, в чем ошибка

Программирование на Visual Basic for Applications
aniutik
Новичок
Новичок
 
Сообщения: 28
Зарегистрирован: 25.05.2004 (Вт) 9:38

не пойму, в чем ошибка

Сообщение aniutik » 01.06.2004 (Вт) 9:08

вот такой у меня код:
For i = 1 To 10
Selection.AutoFilter field:=Selection.Columns.Count - 6, Criteria1:=i
Selection.CurrentRegion.Select
Selection.SpecialCells(xlCellTypeVisible).Select
arr(1, i) = Selection.Rows.Count - 1
Selection.AutoFilter
Next

но почему-то он работает некорректно, неправильно считает количество видимых строк. В чем дело, не пойму

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 22.07.2004 (Чт) 13:03

Что нибудь получилось выяснить?
У меня складывается такое впечатление, что
при
Код: Выделить всё
Selection.SpecialCells(xlCellTypeVisible).Select

не обновляется значение свойства
Код: Выделить всё
Selection.Rows.Count
потому, что на других этапах выполнения
Код: Выделить всё
Selection.Rows.Count
выдаёт правильные значения
У кого есть ещё какие-то мысли по этому поводу???

corgi
ToyMan
ToyMan
 
Сообщения: 1367
Зарегистрирован: 01.10.2002 (Вт) 9:59
Откуда: Россия, Москва

Сообщение corgi » 22.07.2004 (Чт) 14:02

он вам наверно выдает selection состоящий из нескольких областей ну и соответственно считает количество строк первого селекшина
Ничто так не ограничивает полёт мысли программиста, как компилятор

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 27.07.2004 (Вт) 18:53

Нет, дело в том, что celltypevisible всегда ссылается на видимую область экрана, а не selection'а.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 27.07.2004 (Вт) 19:15

Спасибо за науку, значит придется по старому определять количество строк при включенном автофильтре.
Ну ничего, отрицательный результат, тоже результат, который увеличивает вероятность нахождения положительного результата.
А celltypevisible пригодится в других проблемах


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 84

    TopList