powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Не выполняется макрос в Excel
11 сообщений из 11, страница 1 из 1
Не выполняется макрос в Excel
    #33070728
scoritt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема: на листе Excel 2 столбца с данными: первый Дата, второй Числовое значение. Надо написать макрос, котрый фильтровал бы строки по критерию <=<ЗНАЧЕНИЕ ДАТЫ>. Записываю макрос, в котром при помощи автофильтра задаю нужное условие. Но когда запускаю макрос фильтр не работает: убирает все строки. Я думаю тут проблема с форматом даты в коде и в Excel. Может кто знает в чём дело.
...
Рейтинг: 0 / 0
Не выполняется макрос в Excel
    #33070841
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Именно в этом и дело. Исправь макрос, напиши туда нормальную дату и настанет щастье.
...
Рейтинг: 0 / 0
Не выполняется макрос в Excel
    #33072934
scoritt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в каком формате дату писать? Я пробовал по0всякому - не проходит.
...
Рейтинг: 0 / 0
Не выполняется макрос в Excel
    #33073019
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В текстовом, в совпадающем с тем форматом, который установлен для ячеек.
Например: Selection.AutoFilter Field:=2, Criteria1:="20/05/2005"
...
Рейтинг: 0 / 0
Не выполняется макрос в Excel
    #33073060
Фотография rrrrrrrrrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или так, без автофильтров:
Код: 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
Не выполняется макрос в Excel
    #33073064
Фотография rrrrrrrrrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или так, без автофильтров:
Код: 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
Не выполняется макрос в Excel
    #33074390
uu_vano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlВ текстовом, в совпадающем с тем форматом, который установлен для ячеек.
Например: Selection.AutoFilter Field:=2, Criteria1:="20/05/2005"
Это вы эмпирически проверили ?
Или думаете, что так должно работать?
...
Рейтинг: 0 / 0
Не выполняется макрос в Excel
    #33075638
scoritt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlВ текстовом, в совпадающем с тем форматом, который установлен для ячеек.
Например: Selection.AutoFilter Field:=2, Criteria1:="20/05/2005"

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

В ИТОГЕ написал свою процедуру без автофильтра.
...
Рейтинг: 0 / 0
Не выполняется макрос в Excel
    #33075697
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uu_vano White OwlВ текстовом, в совпадающем с тем форматом, который установлен для ячеек.
Например: Selection.AutoFilter Field:=2, Criteria1:="20/05/2005"
Это вы эмпирически проверили ?
Или думаете, что так должно работать?
Это работает у меня. Вас что смущают слеши вместо точек? Ну так замени слеши на точки и всех делов. Я же сказал: критерий надо задавать в текстовом формате совпадающем с тем который установлен для ячеек. Или ты читать не умешь?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Не выполняется макрос в Excel
    #36837420
Vadiks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
Не выполняется макрос в Excel
    #36837545
sergeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
по этому адресу обсуждалось
/topic/632187
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Не выполняется макрос в Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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