在Autofilter上使用多个标准

我有供应商数据,包含所有合同(正在进行和已完成)的信息。 我需要筛选出使用comboboxselect的供应商正在进行的合同。

当我在VBA的自动筛选function中使用多个条件时,没有行返回。 该代码不会给出任何错误。

数据:

col1,col2,col3,col4,col5; [1]supplier name,project name,start of contract(date),end of contract(date),total amount [2]aaa,xx,01/01/2014,31/10/2016,1000000 [3]bbb,yy,01/01/2015,31/10/2016,1000000 [4]ccc,zz,01/01/2013,31/10/2015,1000000 [6]ccc,aa,01/01/2016,31/10/2016,1000000 [7]bbb,bb,01/01/2014,31/10/2014,1000000 [8]aaa,cc,01/01/2015,31/10/2016,1000000 

码:

 Private Sub Workbook_Open() sName = InputBox("supplier name?") 'ActiveSheet.AutoFilterMode = False ActiveSheet.Range("$A$1").AutoFilter Field:=1, Criteria1:=sName ActiveSheet.Range("$A$1").AutoFilter Field:=4, Criteria1:= _ ">" & Date, Operator:=xlAnd End Sub 

我删除date标准时,代码工作,但使用这两个条件时不返回任何内容。

对于供应商'aaa'的代码应该返回2行
供应商'bbb':1排和
供应商'ccc':1行

如果您不使用美国地区设置,date可能会在代码中出现问题。 尝试将date转换为Double:

 ActiveSheet.Range("$A$1").AutoFilter Field:=4, Criteria1:=">" & CDbl(Date)