使用高级筛选条件

我试图从Excel表中复制不同的值与VBA,但我遇到麻烦,当我想分配标准。

我试图在列CI筛选大于零的值

这个代码确实有效

 Dim KeyCells As Range Set KeyCells = Range("H1") If Not Application.Intersect(KeyCells, Range(Target.Address)) _ Is Nothing Then Dim lastrow As Long lastrow = ActiveSheet.Range("H1").Value Application.EnableEvents = False Sheets("Fond16").Range("C4:C31").Clear Sheets("PlneniOperatoru_2016").Range("B" & lastrow - 1 & "11:B" & lastrow & "11").AdvancedFilter _ Action:=xlFilterCopy, _ CopyToRange:=Sheets("Fond16").Range("C4"), _ Unique:=True 

但是这不起作用(会抛出1004:应用程序定义或对象定义的错误)

 Sheets("PlneniOperatoru_2016").Range("B" & lastrow - 1 & "11:B" & lastrow & "11").AdvancedFilter _ Action:=xlFilterCopy, Criteria:="CI>0", _ CopyToRange:=Sheets("Fond16").Range("C4"), _ Unique:=True 

我很想知道如果我能以某种方式更改Criteria参数使其工作。 提前致谢 :)

编辑:我目前正在尝试使用此代码,在标准范围内

 CI >0 

它只显示第一个值,但有时第一个值在CI列中为0,因此标准显然不起作用

 Sheets("PlneniOperatoru_2016").Range("B" & lastrow - 1 & "11:B" & lastrow & "11").AdvancedFilter _ Action:=xlFilterCopy, CriteriaRange:=Sheets("2016").Range("X1:X2"), _ CopyToRange:=Sheets("Fond16").Range("C4:C31"), _ Unique:=False