Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Не выполняется макрос в Excel / 11 сообщений из 11, страница 1 из 1
17.05.2005, 21:00
    #33070728
scoritt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выполняется макрос в Excel
Проблема: на листе Excel 2 столбца с данными: первый Дата, второй Числовое значение. Надо написать макрос, котрый фильтровал бы строки по критерию <=<ЗНАЧЕНИЕ ДАТЫ>. Записываю макрос, в котром при помощи автофильтра задаю нужное условие. Но когда запускаю макрос фильтр не работает: убирает все строки. Я думаю тут проблема с форматом даты в коде и в Excel. Может кто знает в чём дело.
...
Рейтинг: 0 / 0
17.05.2005, 23:21
    #33070841
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выполняется макрос в Excel
Именно в этом и дело. Исправь макрос, напиши туда нормальную дату и настанет щастье.
...
Рейтинг: 0 / 0
18.05.2005, 17:43
    #33072934
scoritt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выполняется макрос в Excel
А в каком формате дату писать? Я пробовал по0всякому - не проходит.
...
Рейтинг: 0 / 0
18.05.2005, 18:08
    #33073019
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выполняется макрос в Excel
В текстовом, в совпадающем с тем форматом, который установлен для ячеек.
Например: Selection.AutoFilter Field:=2, Criteria1:="20/05/2005"
...
Рейтинг: 0 / 0
18.05.2005, 18:23
    #33073060
rrrrrrrrrr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выполняется макрос в Excel
Или так, без автофильтров:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Sub Hide()
Dim i As Integer
i =  1 
While Cells(i,  1 ).Value <> ""
    Rows(i).Select
    If DateValue(Cells(i,  1 ).Value) >= DateValue("11.01.2001") Then
        Rows(i).Select
        Selection.EntireRow.Hidden = True
    End If
    i = i +  1 
Wend
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub Show()
    Sheets( 1 ).Select
    Cells.Select
    Selection.EntireRow.Hidden = False
End Sub
...
Рейтинг: 0 / 0
18.05.2005, 18:25
    #33073064
rrrrrrrrrr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выполняется макрос в Excel
Или так, без автофильтров:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Sub Hide()
Dim i As Integer
i =  1 
While Cells(i,  1 ).Value <> ""
    Rows(i).Select
    If DateValue(Cells(i,  1 ).Value) >= DateValue("11.01.2001") Then
        Rows(i).Select
        Selection.EntireRow.Hidden = True
    End If
    i = i +  1 
Wend
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub Show()
    Sheets( 1 ).Select
    Cells.Select
    Selection.EntireRow.Hidden = False
End Sub
...
Рейтинг: 0 / 0
19.05.2005, 13:00
    #33074390
uu_vano
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выполняется макрос в Excel
White OwlВ текстовом, в совпадающем с тем форматом, который установлен для ячеек.
Например: Selection.AutoFilter Field:=2, Criteria1:="20/05/2005"
Это вы эмпирически проверили ?
Или думаете, что так должно работать?
...
Рейтинг: 0 / 0
19.05.2005, 18:24
    #33075638
scoritt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выполняется макрос в Excel
White OwlВ текстовом, в совпадающем с тем форматом, который установлен для ячеек.
Например: Selection.AutoFilter Field:=2, Criteria1:="20/05/2005"

Не получается так. Сам удивляюсь. Должно работать, но.. увы. Этот метод преобразует "/" в точки. Я уже все форматы перепробовал.

В ИТОГЕ написал свою процедуру без автофильтра.
...
Рейтинг: 0 / 0
19.05.2005, 19:08
    #33075697
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выполняется макрос в Excel
uu_vano White OwlВ текстовом, в совпадающем с тем форматом, который установлен для ячеек.
Например: Selection.AutoFilter Field:=2, Criteria1:="20/05/2005"
Это вы эмпирически проверили ?
Или думаете, что так должно работать?
Это работает у меня. Вас что смущают слеши вместо точек? Ну так замени слеши на точки и всех делов. Я же сказал: критерий надо задавать в текстовом формате совпадающем с тем который установлен для ячеек. Или ты читать не умешь?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
09.09.2010, 10:26
    #36837420
Vadiks
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выполняется макрос в Excel
White Owl,


В текстовом, в совпадающем с тем форматом, который установлен для ячеек.
Например: Selection.AutoFilter Field:=2, Criteria1:="20/05/2005"

не может это условие у Вас работать.
Так как даты в Excel записываются в формате (месяц/день/год), и не важно как они отображаются на экране, соответственно и критерей нужно писать в этом
формате и без нулей.

должно выглядеть следующие образом.
....и конечно же ячейки должны быть в формате (Дата).

ActiveSheet.Range("$A$8:$A$5000").AutoFilter Field:=1, Operator:= _
xlFilterValues, Criteria2:=Array(2, "5/20/2005")
...
Рейтинг: 0 / 0
09.09.2010, 11:15
    #36837545
sergeyvg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выполняется макрос в Excel
по этому адресу обсуждалось
/topic/632187
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Не выполняется макрос в Excel / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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