Страницы: 1
RSS
Некорректная работа фильтра, при использовании макроса
 
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
'UpdatebyKutools20190919
On Error Resume Next
If Target.Column = 1 And Target.Value = "Сегодня" Then Range("A" & Target.Row) = Format(Now(), "dd/mm/yyyy")
If Target.Column = 6 And Target.Value = "Сегодня" Then Range("F" & Target.Row) = Format(Now(), "dd/mm/yyyy")
If Target.Column = 9 And Target.Value = "Да" Then Range("I" & Target.Row) = Format(Now(), "dd/mm/yyyy")
If Target.Column = 10 And Target.Value = "Отправлено" Then Range("K" & Target.Row) = Format(Now(), "dd/mm/yyyy")
If Target.Column = 10 And Target.Value = "Решение суда" Then Range("P" & Target.Row) = Format(Now(), "dd/mm/yyyy")
If Target.Column = 10 And Target.Value = "Апелл. определение" Then Range("P" & Target.Row) = Format(Now(), "dd/mm/yyyy")
If Target.Column = 10 And Target.Value = "Касс. определение" Then Range("P" & Target.Row) = Format(Now(), "dd/mm/yyyy")
If Target.Column = 10 And Target.Value = "Возвращено" Then Range("P" & Target.Row) = Format(Now(), "dd/mm/yyyy")
If Target.Column = 10 And Target.Value = "Без движения" Then Range("P" & Target.Row) = Format(Now(), "dd/mm/yyyy")
If Target.Column = 10 And Target.Value = "Без рассмотрения" Then Range("P" & Target.Row) = Format(Now(), "dd/mm/yyyy")
If Target.Column = 10 And Target.Value = "Принято" Then Range("P" & Target.Row) = Format(Now(), "dd/mm/yyyy")
If Target.Column = 10 And Target.Value = "Судебное заседание" Then Range("P" & Target.Row) = Format(Now(), "dd/mm/yyyy")
If Target.Column = 10 And Target.Value = "Упрощенное производство" Then Range("P" & Target.Row) = Format(Now(), "dd/mm/yyyy")
If Target.Column = 10 And Target.Value = "Приостановлено" Then Range("P" & Target.Row) = Format(Now(), "dd/mm/yyyy")
If Target.Column = 10 And Target.Value = "Отказ от иска" Then Range("P" & Target.Row) = Format(Now(), "dd/mm/yyyy")
If Target.Column = 10 And Target.Value = "Производство прекр." Then Range("P" & Target.Row) = Format(Now(), "dd/mm/yyyy")
If Target.Column = 10 And Target.Value = "Передано по подсуд." Then Range("P" & Target.Row) = Format(Now(), "dd/mm/yyyy")
If Target.Column = 10 And Target.Value = "Назначена экспертиза" Then Range("P" & Target.Row) = Format(Now(), "dd/mm/yyyy")
If Target.Column = 14 And Target.Value = "Повторная подача" Then Range("O" & Target.Row) = Format(Now(), "dd/mm/yyyy")
If Target.Column = 17 And Target.Value = "Сегодня" Then Range("Q" & Target.Row) = Format(Now(), "dd/mm/yyyy")
If Target.Column = 18 And Target.Value = "Сегодня" Then Range("R" & Target.Row) = Format(Now(), "dd/mm/yyyy")
If Target.Column = 19 And Target.Value = "Запрошен" Then Range("T" & Target.Row) = Format(Now(), "dd/mm/yyyy")
If Target.Column = 19 And Target.Value = "Получен" Then Range("T" & Target.Row) = Format(Now(), "dd/mm/yyyy")
If Target.Column = 19 And Target.Value = "Возвращен" Then Range("T" & Target.Row) = Format(Now(), "dd/mm/yyyy")
If (Not Application.Intersect(Me.Range(xDStr & ":" & xDStr), Target) Is Nothing) Then
End If

При вставке даты в ячейку согласно условию макроса указанного выше, при фильтрации столбца, даты распределяются не в раскрывающемся списке, а находятся на главной в фильтре, подскажите в чем проблема?

Изменено: Станислав Петров - 30.03.2021 21:36:50
 
проблема в том что это текст, а не даты
текст, насколько бы он не был похожим на дату - остается текстом
фильтр работает корректно и до макроса и после него, некорректно работает оператор за клавиатурой
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Понял, возможно ли решить данную проблему, чтобы макрос вставлял даты, а не текст?
 
а это всего-на-всего предположение
кроме вас ни файла, ни данных никто не видел, видимо, вам и решать это все в вашем файле самостоятельно
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ссори, подгрузил, прошу помочь.
 
Цитата
Ігор Гончаренко написал:
проблема в том что это текст, а не даты
Вам уже написали в чем у Вас проблема
Выделите ячейки => правая кнопка мыши => формат ячеек => вкладка "Число" => формат "Дата"  => ОК
После чего Ctrl+H заменить "." на "." (точку на точку)
 
Проблема изначально здесь:
Код
Range("T" & Target.Row) = Format(Now(), "dd/mm/yyyy")
Вы вставляете в ячейку текст. Правильно так:
Код
Range("T" & Target.Row) = Now
а возможно и так
Код
Range("T" & Target.Row) = Date
т.к. в ячейку надо записывать именно дату, а не дату и время. Но автору виднее.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
msi2102, Дмитрий(The_Prist) Щербаков, спасибо большое все сделал, все ок)
Страницы: 1
Наверх