Excel 删除由变量设置的自动筛选器

Excel 删除由变量设置的自动筛选器,excel,vba,Excel,Vba,删除由变量设置的自动过滤器时遇到问题。我已经尝试了我在网上能想到/找到的一切。似乎没有什么东西能把它移走。有什么建议吗 Dim CashRange As Range Set CashRange = Range("L2:L50000") CashRange.AutoFilter 1, "CASH" CashLabeledRows = ActiveSheet.AutoFilter.Range.Columns(1).SpecialCells(xlCellTypeVisible).Count - 1 C

删除由变量设置的自动过滤器时遇到问题。我已经尝试了我在网上能想到/找到的一切。似乎没有什么东西能把它移走。有什么建议吗

Dim CashRange As Range
Set CashRange = Range("L2:L50000")
CashRange.AutoFilter 1, "CASH"
CashLabeledRows = ActiveSheet.AutoFilter.Range.Columns(1).SpecialCells(xlCellTypeVisible).Count - 1
CashRange.Parent.AutoFilter.Range.Cells.Interior.ColorIndex = 6
CashRange.Parent.AutoFilterMode = False

看看这些例子,也许会有帮助

If ActiveSheet.FilterMode = True Then 'checks if there are any filters turned on!?
If ActiveSheet.AutoFilterMode = True Then 'if there are filters at all(what so ever)
ActiveSheet.ShowAllData  'Turns off all filters(select all), but not remove them

这不是序列码,每一行都是它自己的。但它可以相互结合。

不是最佳答案,但在对表单中存在的不同数据类型进行一些测试后,我确定只有在L列的任何单元格中都不存在“现金”时,才会出现筛选问题

我决定目前最好的办法是在专栏中查找现金价值。然后根据响应,我在上述vba之前和之后定义了一个GoTo。如果没有必要,基本上跳过

感谢大家的时间和投入。代码张贴在下面以供参考

Dim t As Range
Set t = Columns("L").Find("CASH", LookAt:=xlWhole)
If t Is Nothing Then
        GoTo AfterCashYellow
    ElseIf Not t Is Nothing Then
        GoTo CashYellowFill
End If 

这在我这边行得通。你有什么问题?你有错误吗?没有错误。我无法从列中删除自动筛选。所有数据都会显示,但仍显示正在过滤。虽然使用ActiveSheet.AutoFilterMode=False不起作用,但我必须手动单击excel中的筛选按钮才能将其删除。
显示所有数据,但仍显示正在对其进行筛选
我无法重新生成此数据。如果显示所有数据,则删除
AutoFilter
。你是在正常范围内工作而不是在桌子范围内工作吗?在我这方面也适用。通过将
CashRange.Parent.AutoFilterMode=False替换为
CashRange.AutoFilter
,可以使用不同的方法摆脱自动筛选。试试这个。如果您仍然有问题,我们需要对问题进行更好的描述,可能需要一个屏幕截图的链接。@Branislav Kollár-如果值不存在,我通过跳过代码解决了问题。谢谢你的帮助。答案贴在下面。我在贴之前尝试过类似的方法,但没有成功。