我在删除由变量设置的自动过滤器时遇到了一些问题。我已经尝试了一切我能想到/在网上找到的东西。似乎没有什么能够删除它。有什么建议吗?
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
答案 0 :(得分:0)
看看这些例子,也许它们会有所帮助。
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
这不是序列码,每一行都是为了自己。但它可以相互结合。
答案 1 :(得分:0)
不是最佳答案,但在对表单中存在的不同数据类型进行一些测试后,我确定过滤器问题仅出现在" CASH"在L柱的任何细胞中都不存在。
我决定暂时解决此问题的最佳方法是在列上查找CASH值。然后根据响应,我在上面的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