“ 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自动过滤器方法失败”,今天开始工作的代码出现错误的主要内容,如果未能解决你的问题,请参考以下文章

今天的事,今天办,能办的事,马上办

用户选择日期后无法显示“今天”,而不是今天的日期

JS调用今天星期几实际数字请问是怎么搞的

JS调用今天星期几请问是怎么搞的

mysql 查询问题。我想查询出包含一个逗号的记录。 你好,今天 你好,今天,风云

jQuery Datepicker 今天按钮不会在输入框中输入今天的日期