Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Работа с датой / 7 сообщений из 7, страница 1 из 1
05.08.2004, 15:24
    #32637141
denis_viktorovich
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с датой
Добрый день. Не поможет ли кто нибудь в решении проблемы.
В листе Excel Имеется колонка с датами в формате dd.mm.yyyy.
Мне необходимо програмно поставить фильтр по дате. Я запустил
макрорекордер, поставил фильтр и получил следующий код:

Selection.AutoFilter Field:=7, Criteria1:=">01.07.04", Operator:=xlOr, _
Criteria2:="="

Однако если тут же попробовать выполнить этот макрос, то фильтр устанавливается но не работает. Но если войти в свойства фильтра "условие" и не редактируя его просто снова ввести то-же самое (просто Enter), то все работает уже правильно.
Заранее благодарен за советы\предположения.
...
Рейтинг: 0 / 0
05.08.2004, 15:34
    #32637170
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с датой
Selection.AutoFilter Field:=7, Criteria1:=">01.07. 2004 ", Operator:=xlOr, _
Criteria2:="="
...
Рейтинг: 0 / 0
05.08.2004, 15:37
    #32637177
denis_viktorovich
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с датой
Спасибо за совет. Попробовал, не работает.
...
Рейтинг: 0 / 0
05.08.2004, 17:22
    #32637447
IvanM1982
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с датой
А что там за второе условие ?? может его просто убрать ?
...
Рейтинг: 0 / 0
05.08.2004, 17:41
    #32637474
marvan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с датой
сначала должно быть типа: Range("A1:A15").Select
а потом Selection.AutoFilter Field:=...
...
Рейтинг: 0 / 0
06.08.2004, 09:04
    #32637957
denis_viktorovich
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с датой
Я указал только последнюю часть кода вот полностью:

Cells.Select
Selection.AutoFilter
Selection.AutoFilter Field:=7, Criteria1:="<01.07.2004"


Без второго условия то же не работает.
Тут же возник другой вопрос, я работаю с данными в именованных листах Excel выгруженных из некоей БД.
При подготовке отчетов мне оказалось удобно работать Select-ами через ADODB

Set oconnection = CreateObject("ADODB.Connection")
oconnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Trim(ActiveWorkbook.FullName) + ";Extended Properties=""Excel 8.0;HDR=NO"""
sqltext = "Select * from ..."
Set oRS = oconnection.Execute(sqltext)


Можно использовать временный лист для промежуточных вычислений и т.д.

А могу ли я использвать команду delete from, insert точно работает, а на delete ругается "неопознанная ошибка"

sqltext = "delete from RangeName1" - не срабатывает
Может я переврал синтаксис этого оператора в MS SQL Jet.
...
Рейтинг: 0 / 0
06.08.2004, 09:19
    #32637971
кузя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с датой
denis_viktorovichА могу ли я использвать команду delete from
к сожалению нет

How To Use ADO with Excel Data from Visual Basic or VBA
раздел "How to Change Excel Data: Edit, Add, and Delete"
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Работа с датой / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]