Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 03.12.2008, 22:20   #1
Proton-x
Пользователь
 
Регистрация: 26.11.2008
Сообщений: 17
По умолчанию Сортировка по периоду

Подскажите пожалуйста!!! Дано: Столбец с произвольными датами формата дд.мм.гггг. Как на основании данных из этого столбца отфильтровать строки по дате с периодом равным определенному месяцу, кварталу? или хотя-бы просто от определенной даты до определенной даты?
Proton-x вне форума
Старый 04.12.2008, 00:03   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

в вопросе есть ответ: навесить на данные фильтр, потом есть фильт по условию, выбрать по колонке больше такой-то даты и меньше такой-то даты и станет видно только то, что выбрано.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 04.12.2008, 14:52   #3
Proton-x
Пользователь
 
Регистрация: 26.11.2008
Сообщений: 17
По умолчанию

Да, все действительно так, извиняюсь тупанул малость. Тогда есть еще вопрос можно-ли сделать это с помощью формы с двумя текстовыми полями для ввода данных, т.е начала и конца диапазона дат, а критерий отбора чтобы был уже прописан в макросе?
Proton-x вне форума
Старый 06.12.2008, 00:18   #4
Proton-x
Пользователь
 
Регистрация: 26.11.2008
Сообщений: 17
По умолчанию

Перефразирую вопрос. Как можно реализовать это с помощью VBA?
Proton-x вне форума
Старый 06.12.2008, 00:42   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

И без перефразировки вопрос был понятен.
Непонятно где тут выгрыш в функциональности.
Ясно что надо написать код, который сделает тоже самое, что уже может делать фильтр. Где здесь дополнительные удобства в эксплуатации листа? Вот что не понятно, поэтому и отвечать не особо интересно.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 06.12.2008, 09:10   #6
Proton-x
Пользователь
 
Регистрация: 26.11.2008
Сообщений: 17
По умолчанию

Большое спасибо что отвечаете. Выйгрыш в данном вопросе в том что документ заполняет женщина в "годах" и всякого рода фильтры с их критериями вводят ее в полный ступор, вот и хотелось бы облегчить ей задачу прикрутив кнопку на которую она нажмет и выпадет форма с двумя полями в которые она введет начальную и конечную даты нажмет окей и произойдет фильтрация. На самом деле в этом документе не так много и надо фильтровать всего 5 кнопок 4 без дополнительных условий я уже сделал, а вот последнюю никак. Надеюсь на ваше понимание.
Proton-x вне форума
Старый 06.12.2008, 11:00   #7
КаМММ
Почти "Чайник"
Форумчанин
 
Аватар для КаМММ
 
Регистрация: 09.06.2008
Сообщений: 134
По умолчанию

Код:
Selection.AutoFilter Field:=(номер столбца), Criteria1:=">=" & Первая дата, Operator:=xlAnd, Criteria2:="<=" & Вторая дата
А так пробовал?
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = [B1].Address Or Target.Address = [C1].Address Then Selection.AutoFilter Field:=3, Criteria1:=">=" & [B1], Operator:=xlAnd, Criteria2:="<=" & [C1]
End Sub
Или так (даты в ячейках В1 и С1 столбец сортировки "С" третий Код вставить в модуль листа)

Последний раз редактировалось КаМММ; 06.12.2008 в 11:04.
КаМММ вне форума
Старый 06.12.2008, 20:51   #8
Proton-x
Пользователь
 
Регистрация: 26.11.2008
Сообщений: 17
По умолчанию

KaMMM ваш способ не подходит для решения этой задачи, после ввода первого критерия отбора происходит фильтрация по непонятному критерию и ничего не отфильтровывается-пустые строки или я туплю, хотелось бы привязаться как нидудь к выпадающей форме, с двумя полями для ввода. что-то типа этого:
If Target.Address = [userform1.textbox1.text].Address Or Target.Address = [userform1.textbox2.text].Address Then Selection.AutoFilter Field:=3, Criteria1:=">=" & [userform1.textbox1.text], Operator:=xlAnd, Criteria2:="<=" & [userform1.textbox2.text]
End Sub

я понимаю что это в корне неверно но для наглядности...
Proton-x вне форума
Старый 06.12.2008, 21:21   #9
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Нажмите кнопку "Запуск формы", после чего измените значение в одном из полей, завершая ввод клавишей Enter.

В диапазоне a2:a14 останутся видимыми только те строки, значения в которых соответствуют заданным критериям.
Вложения
Тип файла: rar Книга1.rar (8.8 Кб, 34 просмотров)
EducatedFool вне форума
Старый 06.12.2008, 21:33   #10
Proton-x
Пользователь
 
Регистрация: 26.11.2008
Сообщений: 17
По умолчанию

спасибо большое, на первый взгляд это то что нужно, завтра буду тестировать, еще раз огромное спасибо!!!
Proton-x вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка Шелла и Шейкер-сортировка AleksandrMakarov Паскаль, Turbo Pascal, PascalABC.NET 11 11.03.2012 12:18
сортировка CrazyRabbit Паскаль, Turbo Pascal, PascalABC.NET 3 27.10.2008 21:04
1. Сортировка Шелла по убыванию 2. Сортировка вставками по убыванию Arkuz Помощь студентам 1 25.09.2007 17:16