Как одновременно фильтровать дату и время в Excel, используя определенный диапазон в VBA

#excel #vba

#excel #vba

Вопрос:

Да, я пытаюсь отфильтровать время, а затем дату, одновременно вставленные в два разных столбца. Оба работают нормально по отдельности, но когда я использовал их вместе, применяется только один файл. Я использую следующий лист.

введите описание изображения здесь

Я использую следующий код кнопки: время фильтрации кнопки:

    Private Sub CommandButton1_Click()
   Dim lngStart As Long, lngEnd As Long
   Sheets("Location").Select
   lngStart = Range("C4").Value 'assume this is the start date
   lngEnd = Range("C6").Value 'assume this is the end date
   ActiveSheet.Range("$C$8:$C$10712").AutoFilter Field:=1, Criteria1:=">=" amp; Range("C4").Value, 
   Operator:=xlAnd, Criteria2:="<=" amp; Range("C6").Value   
   End Sub
 

а ниже приведенный код используется для кнопки «Фильтровать дату».

 Private Sub CommandButton3_Click()
Dim lngStart As Long, lngEnd As Long
   
   Sheets("Location").Select
   lngStart = Range("D4").Value 'assume this is the start date
   lngEnd = Range("D6").Value 'assume this is the end date
   ActiveSheet.Range("$D$8:$D$10712").AutoFilter Field:=1, Criteria1:=">=" amp; Range("D4").Value, Operator:=xlAnd, Criteria2:="<=" amp; Range("D6").Value
   
End Sub
 

Кнопки кнопок работают нормально, но одновременно работает только одна кнопка. Например, я хочу отфильтровать время с 11:30:00 утра до 2:32:00 вечера и дату с 1/2/2020 по 1/8/2020. Сначала я нажму на время, которое будет успешно отфильтровано, но когда я нажимаю на дату фильтра, он фильтрует только первую дату 1/2/2020. Пожалуйста, проверьте, где я делаю неправильно. Спасибо

Комментарии:

1. Чтобы разобраться в этом самостоятельно, запишите макрос при применении фильтра. Но похоже, что вы не включаете весь диапазон $C$8:$C$10712 при использовании фильтра даты (в этом случае вы будете фильтровать дальше Field:=2 )

2. @RonRosenfeld Я использовал ту же настройку, но она выдает ошибку поля, затем я меняю ее с 2 на 1

3. Field это не сообщение об ошибке VBA, с которым я знаком. Так что ничем не могу вам с этим помочь.

4. @RonRosenfeld благодарит брата за его работу…. На самом деле я использовал диапазон одного столбца….