我是 VBA 的新手,并且已经从各种搜索“如何在 Excel 中的两个特定日期之间进行过滤”中拼凑出这个宏。我试图让它从两个单元格中读取日期,并将显示的数据限制为这些日期之间的数据。工作簿的输入数据是一个 SQL 表,它会随着时间的推移而增长,因此我需要将范围的左边界作为其中包含值的最后一行。我的 AutoFilter 部分中的每一行都返回一个“预期命名参数”错误,其中 := 符号突出显示。从我读过的论坛中,这是由于使用 VBA 保留字作为变量名,但我认为在这种情况下并非如此。
这是我的代码:
Public Sub MyFilter()
.AutoFilterMode = False
Dim datRight, datLeft As Date
Dim lastRow As Long
datLeft = Range("J1").Value
datRight = Range("J2").Value
lastRow = Range("A:A").Find("*", Range("A2"), searchdirection:=xlPrevious).Row
ActiveSheet.Range("F2:F" & lastRow).AutoFilter Field:=7,
Criteria1:=">=" & datLeft, _
Operator:= xlAnd,
Criteria2:="<=" & datRight, VisibleDropDown:=True
End Sub