“ Range类的VBA自动过滤器方法失败”,今天开始工作的代码出现错误
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了“ Range类的VBA自动过滤器方法失败”,今天开始工作的代码出现错误相关的知识,希望对你有一定的参考价值。
我正在使用VBA代码,该代码删除W列中所有值为“ No”的行,然后对其进行排序。现在我不断得到
范围类的VBA自动筛选方法失败
.AutoFilter 1, "*No*"
行上的错误。奇怪的是,这在今天早些时候有效,我对其进行了多次测试,但随后突然停止工作。
我应该怎么做才能摆脱这个错误?
Sub FilterMacro()
Dim Lastrow As Long
'Delete
With ActiveWorkbook.Worksheets("Deduction - Filtered")
.AutoFilterMode = False
With Range("W1", Range("W" & Rows.Count).End(xlUp))
.AutoFilter 1, "*No*"
On Error Resume Next
.Offset(1).SpecialCells(12).EntireRow.Delete
End With
.AutoFilterMode = False
End With
Lastrow = Worksheets("Deduction - Filtered").Range("H" & Rows.Count).End(xlUp).Row
ActiveWorkbook.Worksheets("Deduction - Filtered").Range("L2").Select
ActiveWorkbook.Worksheets("Deduction - Filtered").Range("L2:L" & Lastrow).Formula = "=IF(COUNTIF($H$2:$H2, H2)>1, (L1-Q1), K2)"
'Sort
Columns("H:H").Select
ActiveWorkbook.Worksheets("Deduction - Filtered").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Deduction - Filtered").Sort.SortFields.Add Key:=Range( _
"H2:H" & Lastrow), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Deduction - Filtered").Sort
.SetRange Range("A1:AB" & Lastrow)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
谢谢您的帮助
以上是关于“ Range类的VBA自动过滤器方法失败”,今天开始工作的代码出现错误的主要内容,如果未能解决你的问题,请参考以下文章