我对使用VBA宏非常陌生,我似乎无法解决这个问题。
我正在尝试创建一个宏来执行高级过滤器。我希望宏在列N中的数字列表中过滤A:E列中的结果。我希望宏能够通过查找E列中的最后一个占用行来改变列表范围,我已将其分配给变量BlankRowinE。然后,我将得到的单元格范围分配给范围变量ListRange。
这部分代码似乎有用。但是,当我尝试修改高级过滤器中的条件范围,以便它将使用范围N1:N列中最后一个被占用的单元格时,我得到一个应用程序定义的或对象定义的错误。
由于我的经验不足,我确定我犯了一些明显的错误,但是我会非常感谢任何建议。
Sub Advance_Filter()
Advance_Filter Macro
Dim LastBlankRowE As Long
Dim ListRange As Range
LastBlankRowE = Worksheets("GWN parts").Cells(Rows.Count, 5).End(xlUp).Row
Cells(LastBlankRowE, 5).Select
Set ListRange = ActiveSheet.Range("A1", ActiveCell)
Range("A2").Select
Application.CutCopyMode = False
Application.CutCopyMode = False
ListRange.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("N1", Cells(Rows.Count, 14).End(x1Up).Row), Unique:=False
End Sub