помогите с фильтром и подсчётом количества значений

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

kooleer
Сообщения: 52
Зарегистрирован: 18 июн 2010, 15:52

Доброго времени суток друзья
помогите плз с такой проблемой:
у меня есть экселевский файл с датами и временем определённых событий.пытаюсь написать код, чтобы при введении с клавиатуры даты и времени начала и конца подсчитать количество событий за определённый временной промежуток
вот код:
Sub test()

Dim dn, dk As Date
dn = InputBox("")
dk = InputBox("")
Selection.AutoFilter Field:=9, Criteria1:=dn, Operator:=xlOr, _
Criteria2:=dk

Range("o1").Select
ActiveCell.FormulaR1C1 = "кол-во"
Range("o2").Select
ActiveCell.FormulaR1C1 = "=count(r1c[-5]:r[-9500]c[-5])"

End Sub
проблема в том что количество ситает только общее, а не отфильтрованное, знаки н >,< не воспринимет фильтр (что как раз мне надо) и не могу приципить время к дате
помогите кто чем может
зы:если нужен файл, то могу прикрепить
заранее премного благодарен
Аватара пользователя
VictorM
Сообщения: 794
Зарегистрирован: 23 окт 2006, 01:44
Откуда: Lugansk, Ukraine
Контактная информация:

kooleer писал(а): зы:если нужен файл, то могу прикрепить
заранее премного благодарен

Здравствуйте!
Да, файлик не помешал бы. Кто знает, что у Вас там.
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
kooleer
Сообщения: 52
Зарегистрирован: 18 июн 2010, 15:52

вот выкладываю файлик
если появятся вопросы, отвечу
Вложения
INALL.zip
(73.09 КБ) 38 скачиваний
Аватара пользователя
VictorM
Сообщения: 794
Зарегистрирован: 23 окт 2006, 01:44
Откуда: Lugansk, Ukraine
Контактная информация:

Нда...файлик ничего не прояснил. Ни одной надписи, что за данные и что с ними делать.
Как я понял, основная проблема в работе с автофильтром - задании критерия поиска и подсчет отфильтрованных строк.
Очень рекомендую посмотреть вот этот ресурс Автофильтр & Расширенный фильтр , думаю, Вы найдете там многие ответы.
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
kooleer
Сообщения: 52
Зарегистрирован: 18 июн 2010, 15:52

Спасибо за ссылочку
но пытаюсь прописать так как там написано и выдаёт ошибку Runtime error '13' :( (( :(
я боюсь не правильно обьяснил в первом посте, что мне надо, попробую ещё раз:
1) написать код для фильтра, что бы фильтровал введёные с клавиатуры дату и время( например из файла: от 16.06.10 23:00 до 17.06.10 23:00)
2) что бы подсчитать количество отфильтрованных строк
я написал примечания в файле
посмотрите плз ещё раз
Вложения
INALL.zip
(83.6 КБ) 33 скачивания
nilem
Сообщения: 112
Зарегистрирован: 14 ноя 2008, 01:59
Откуда: Уфа

Если в Р2 записано время "от", в Р4 время "до", то количество событий за период

Код: Выделить всё

=СУММПРОИЗВ((K:K>=P2)*(K:K<=P4))
Таблицу сократил - не прикреплялась.
kooleer
Сообщения: 52
Зарегистрирован: 18 июн 2010, 15:52

Спасибо Вам большое, что откликнулись, но есть проблема:
у меня Ваша формула не работает, если пытаюсь менять исходные данные("от", "до"), просто копировать формулу, самому написать её, выдаёт ошибку - #ЧИСЛО! :( :(
Я так думаю, что это из-за того, что у меня версия экселя 2003, а у Вас более поздняя, хотя могу и ошибаться

блин так что же делать то????
HELP ME
nilem
Сообщения: 112
Зарегистрирован: 14 ноя 2008, 01:59
Откуда: Уфа

СУММПРОИЗВ должна работать во всех версиях. Прикрепите свой файл с примерами ошибок.
kooleer
Сообщения: 52
Зарегистрирован: 18 июн 2010, 15:52

Выкладываю файлик с пояснениями
Вложения
INALL.zip
(27.02 КБ) 34 скачивания
nilem
Сообщения: 112
Зарегистрирован: 14 ноя 2008, 01:59
Откуда: Уфа

Странно, у меня работает (2007). Неужели зависит от версии?
На всякий случай посмотрите в желтых ячейках: при копировании адреса ячеек "от" и "до" не должны меняться, т.е. либо поправлять вручную, либо применить абсолютную адресацию.
Ответить