在VBA中使用变量作为过滤条件

时间:2019-06-04 15:01:16

标签: excel vba filter criteria

我正在尝试使用VBA在日期之前进行过滤,我记录了一个宏作为向其中添加变量的基础。

SDatesel是一个包含"<"和sDate串联的变量 SDate是用户在"Base Sheet"标签的卖方AC中定义的开始日期

sDate = Worksheets("Base Sheet".Range("A2")

在调试模式下,字符串可以正常显示

它正在倒下

Inspections.Range("A:S").AutoFilter Field:=3, Criertia1= _

   sDateSel, Operator:=xlAnd

Dim sDate As Date
Dim eDate As Date

sDate = Worksheets("Base Sheet").Range("A2")
eDate = Worksheets("Base Sheet").Range("C2")

Dim sDateSel As String
Dim eDateSel As String
'Dim Qot As String

sDateSel = "<" & sDate
eDateSel = ">" & eDate

Inspections.Range("$A:$S").AutoFilter Field:=3, Criteria1:= _
    sDateSel, Operator:=xlAnd
Rows("2:2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
Range("C1").Select
Inspections.Range("$A:$S").AutoFilter Field:=3, Criteria1:= _
    eDateSel, Operator:=xlAnd
Rows("2:2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
Selection.AutoFilter

我得到的错误是424-需要对象

我认为这是由于使用了变量,因为在"<20/05/2019"之类的原始数字上使用sDateSel或eDateSel时都是如此。

0 个答案:

没有答案