VBA:为什么自动过滤器在手动过滤器时不起作用? (运行时错误' 1004':方法'对象的自动筛选'范围'失败)

时间:2017-06-26 14:16:24

标签: excel vba excel-vba

获取以下代码的运行时错误。

对于某些列,使用包含行1000等数据的数据转储。从我在其他论坛上看到的内容来看,如果没有价值观,自动过滤器就无法工作了#34;细胞。但是,当我将测试值放在靠近过滤器的位置时,它仍然无法工作。手动过滤器正在同一范围内工作。

CURrow = ActiveCell.Row
LASTrow = ActiveCell.SpecialCells(xlLastCell).Row
LASTcol = ActiveCell.SpecialCells(xlLastCell).Column
If LASTrow > CURrow Then
    Columns("A").Insert Shift:=xlToRight
    Range(Cells(CURrow + 1, 1), Cells(LASTrow, 1)).Value = "|"
    Columns(1).HorizontalAlignment = xlCenter
    Range(Cells(CURrow, 1), Cells(CURrow, LASTcol - 1)).AutoFilter
    Rows(CURrow + 1).Select
    ActiveWindow.FreezePanes = True
End If

1 个答案:

答案 0 :(得分:0)

目前还不太清楚你要做什么以及它是如何起作用的。

您的代码

  • 在左侧添加一列
  • 将管道键入所选单元格(行)下方的所有行
  • 从所选行开始过滤过滤函数 包括不是最右边的两列(添加和-1使 -2)原始数据
  • 使用冻结窗格在滚动时保持所选行可见

如果您的想法是过滤掉用管道标记的行,那么您需要列的标题,如果列标题位于第1行,我的修改版本将是这样的:

LITERAL

但显然我有太多的ifs来回答你的问题。 : - )