我想在 VBA 中按日期過濾大型 Excel 表格。當我使用“Between”過濾器手動完成時,它可以作業(請參閱螢屏截圖 1和螢屏截圖 2)。
如果我同時運行“記錄宏”功能,它也可以作業,我得到以下代碼:
ActiveSheet.ListObjects("Table5").Range.AutoFilter Field:=4, Criteria1:= _
">=15/09/2021", Operator:=xlAnd, Criteria2:="<=17/10/2021"
但是,當我嘗試運行生成的宏時,它會過濾掉所有記錄:
找到 2972??5 條記錄中的 0 條
這是我嘗試過的:
- 檢查堆疊溢位問題#40820757和#23132653。
- 檢查該欄位確實是日期格式:它是。
- 轉到 Windows 中的“更改日期和時間格式”選單并檢查系統中的本地短日期格式:“DD/MM/YYYY”。
- 嘗試了以下代碼,結果相同:
Dim Date1 As Date
Dim Date2 As Date
Date1 = CDate("15/09/2021")
Date2 = CDate("17/10/2021")
ActiveSheet.ListObjects("Table5").Range.AutoFilter Field:=4, Criteria1:= _
">=" & Date1, Operator:=xlAnd, Criteria2:="<=" & Date2
你知道我如何解決這個問題嗎?謝謝。
uj5u.com熱心網友回復:
嘗試更改日期格式,如下面的代碼所示。
Sub Macro1()
Date1 = Format("15/09/2021", "mm/dd/yyyy")
Date2 = Format("17/10/2021", "mm/dd/yyyy")
ActiveSheet.ListObjects("Table1").Range.AutoFilter Field:=4, Criteria1:= _
">=" & Date1, Operator:=xlAnd, Criteria2:="<=" & Date2
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/345269.html
