Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
错误424执行Excel自动筛选时没有此类对象_Excel_Vba - Fatal编程技术网

错误424执行Excel自动筛选时没有此类对象

错误424执行Excel自动筛选时没有此类对象,excel,vba,Excel,Vba,我有一个包含定价信息的电子表格。我试图删除所有价格不以.99结尾的行。定价所在的列是第J列。因此,我的代码部分如下所示: Columns("J:J").NumberFormat = "@" With Columns("J") .AutoFilter Field:=1, Criteria1:="<>*.99", VisibleDropDown:=False .SpecialCells(xlCellTypeVisible).EntireRow.Delete .Au

我有一个包含定价信息的电子表格。我试图删除所有价格不以.99结尾的行。定价所在的列是第J列。因此,我的代码部分如下所示:

Columns("J:J").NumberFormat = "@"
With Columns("J")
    .AutoFilter Field:=1, Criteria1:="<>*.99", VisibleDropDown:=False
    .SpecialCells(xlCellTypeVisible).EntireRow.Delete
    .AutoFilter
    .AutoFilter
End With
列(“J:J”).NumberFormat=“@”
带列(“J”)
.AutoFilter字段:=1,准则1:=“*.99”,VisibleDropDown:=False
.SpecialCells(xlCellTypeVisible).EntireRow.Delete
.自动过滤器
.自动过滤器
以

我认为将单元格从数值转换为文本格式可以让我使用计算,但它不是这样的,不断抛出424 object not found错误并指向代码中两个连续的.AutoFilter行中的第一行。

如果从代码中删除另外两个.AutoFilter行,它应该可以工作,至少对我来说可以。谢谢。另外两条自动过滤线有什么特殊用途吗?我有一长串这些代码块,用于我根据特定字符串的匹配删除的不同行。它们都很好,但这一个不行。只是想知道如果它们没有任何用途,我是否可以将它们从我的所有块中删除。仍然不起作用,当删除这两行时,宏将删除所有行,甚至那些不符合条件的行。好的,我知道发生了什么。问题是,在将值输入单元格之前,必须将列格式化为文本。一旦您这样做,自动过滤器将按原样工作。但除此之外,我不知道如何解决这个问题-即在运行自动筛选之前,强制excel将单元格转换为文本。我唯一能建议的是使用其他东西,比如匹配或正则表达式。我确实使用第一行代码将单元格格式化为文本:Columns(“J:J”)。NumberFormat=“@”您是如何开始工作的?如果您从代码中删除另外两行.AutoFilter行,它应该可以工作的-或者至少对我来说可以。谢谢。另外两条自动过滤线有什么特殊用途吗?我有一长串这些代码块,用于我根据特定字符串的匹配删除的不同行。它们都很好,但这一个不行。只是想知道如果它们没有任何用途,我是否可以将它们从我的所有块中删除。仍然不起作用,当删除这两行时,宏将删除所有行,甚至那些不符合条件的行。好的,我知道发生了什么。问题是,在将值输入单元格之前,必须将列格式化为文本。一旦您这样做,自动过滤器将按原样工作。但除此之外,我不知道如何解决这个问题-即在运行自动筛选之前,强制excel将单元格转换为文本。我唯一能建议的是使用其他类似匹配或正则表达式的方法。我确实使用第一行代码将单元格格式化为文本:Columns(“J:J”)。NumberFormat=“@”您是如何开始工作的?