我正在尝试使用VBA从excel表中复制不同的值,但是当我想为其分配条件时,我遇到了麻烦。
我正在尝试过滤列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