Пользовательский код VBA для фильтрации между датами в рамках различных критериев фильтрации

У меня есть пользовательская форма, которая фильтрует критерии из набора данных и заполняет информацию в электронной таблице отчетов. Все фильтры работают, за исключением фильтра между двумя датами.

Это код, который я имею до сих пор;

Private Sub btnrun_Click() Dim sdsheet As Worksheet, grsheet As Worksheet Dim sdlr As Long, grlr As Long, y As Long, x As Long Set sdsheet = ThisWorkbook.Sheets("Governance Reporting Data") Set grsheet = ThisWorkbook.Sheets("Governance Report") Dim match As Boolean match = False sdlr = Application.Max(sdsheet.Cells(Rows.Count, 4).End(xlUp).Row, 2) grlr = Application.Max(grsheet.Cells(Rows.Count, 1).End(xlUp).Row, 2) y = 2 Me.Hide 'make sure date format If Not IsDate(Me.tbentrydatefirst) And Me.tbentrydatefirst <> "" Then MsgBox "Please enter correct date format" Me.tbentrydatefirst = "" Exit Sub End If If Not IsDate(Me.tbentrydatelast) And Me.tbentrydatelast <> "" Then MsgBox "Please enter correct date format" Me.tbentrydatelast = "" Exit Sub End If 'populate data based on variables For x = 5 To sdlr If Me.cmbmonth = "All" Or sdsheet.Cells(x, 2) = Me.cmbmonth Then If CDate(Me.tbentrydatefirst.Value) >= DateValue(sdsheet.Cells(x, 3).Value) And CDate(Me.tbentrydatelast.Value) <= DateValue(sdsheet.Cells(x, 3).Value) Then If Me.cmbprovider = "All" Or sdsheet.Cells(x, 4) = Me.cmbprovider Then If Me.cmbcontractofficer = "All" Or sdsheet.Cells(x, 5) = Me.cmbcontractofficer Then If Me.cmbissue = "All" Or sdsheet.Cells(x, 7) = Me.cmbissue Then If Me.cmbstatus = "All" Or sdsheet.Cells(x, 12) = Me.cmbstatus Then grsheet.Cells(y, 1).Resize(1, 10).Value = sdsheet.Cells(x, 3).Resize(1, 10).Value y = y + 1 match = True End If End If End If End If End If End If Next grsheet.Visible = True grsheet.Activate If Me.cbprintpreview = True Then grsheet.PrintPreview If MsgBox("Would you like to close this report?", vbYesNo, "Close Report?") = vbYes Then grsheet.Visible = False grsheet.Range("A2:J150").ClearContents End If Unload Me End Sub 

Какие-либо предложения???

Ваше состояние неверно:

 If CDate(Me.tbentrydatefirst.Value) >= DateValue(sdsheet.Cells(x, 3).Value) And CDate(Me.tbentrydatelast.Value) <= DateValue(sdsheet.Cells(x, 3).Value) Then 

Это должно быть:

 If CDate(Me.tbentrydatefirst.Value) <= DateValue(sdsheet.Cells(x, 3).Value) And CDate(Me.tbentrydatelast.Value) >= DateValue(sdsheet.Cells(x, 3).Value) Then 
  • Дата gembox.spreadsheet преобразуется в int
  • Проблема Java Дата при экспорте на странице excel
  • VB: проблема формата даты при загрузке * .csv
  • Условное форматирование в Excel VBA с использованием текущих значений месяца и года в условиях формата
  • Дата в Excel не признана в качестве даты
  • VBA Excel отдельный диапазон дат в ячейках
  • Возврат даты из разных данных, когда дата форматируется в тексте, а дни меняются цифры от 1 до 2
  • Преобразование / поддержание дат в заголовке из Excel в R
  • Excel SUMIF с использованием диапазонов текста и дат, определенных значением ячейки
  • Excel 2010: получить следующие месяцы 1-й вторник с даты, сгенерированной с помощью VLOOKUP
  • Excel VBA - Autofilter столбец даты на набор даты
  • Interesting Posts

    Можно ли изменить цвет фона и другие визуальные атрибуты управления ползунком в Excel (через VBA или иначе)?

    Как открыть файл excel от weka

    Как читать форматированный дисплей ячейки datetime с использованием python

    Как сбросить / слегка изменить формулу в Excel после n рядов строк

    Как переключаться между двумя наборами столбцов в Tableau?

    Как заставить книгу excel 2010 находиться в определенном пути к файлу, чтобы открыть VBA?

    Выполнить AutoIt и ждать окончания

    Контрольная ячейка Excel VBA для оценки

    не может игнорировать дату при расчете разницы во времени

    Ошибка соединения данных Excel с рабочим запросом – «Оператор SELECT содержит зарезервированное слово или имя аргумента»

    Excel CONCATENATE, с IF-формулой? /:

    Excel. Есть ли способ сортировки по совпадающим значениям? (Примечание: сортировка здесь не работает)

    Pandas: чтение определенного значения ячейки Excel в переменную

    Excel переносит несколько строк в столбцы в зависимости от значений в другом столбце

    Запись массива в файл CSV

    Давайте будем гением компьютера.