VBA过滤器功能-防止单击时出错

VBA过滤器功能-防止单击时出错,vba,filter,autofilter,Vba,Filter,Autofilter,希望这是一个简单的修复,但我还是太新了,不知道该在函数中寻找什么。我基本上是在为正在进行的工作制作一个自动过滤功能,一切正常,除非我开始点击我制作的“清除过滤”功能块 我想包括这个功能,所以我可以点击“过滤器1”,“过滤器2”,然后快速“清除过滤器”,使事情恢复正常。如果我在单击“清除过滤器”之前没有单击“过滤器1”或“过滤器2”,它将进入调试模式。有办法吗 Sub Filter1() Dim LastRow As Long LastRow = Range("C1").CurrentR

希望这是一个简单的修复,但我还是太新了,不知道该在函数中寻找什么。我基本上是在为正在进行的工作制作一个自动过滤功能,一切正常,除非我开始点击我制作的“清除过滤”功能块

我想包括这个功能,所以我可以点击“过滤器1”,“过滤器2”,然后快速“清除过滤器”,使事情恢复正常。如果我在单击“清除过滤器”之前没有单击“过滤器1”或“过滤器2”,它将进入调试模式。有办法吗

Sub Filter1()
  Dim LastRow As Long

  LastRow = Range("C1").CurrentRegion.Rows.Count
  Range("A1:H" & LastRow).Select
  Selection.AutoFilter Field:=3, Criteria1:="VariableX"

End Sub

Sub Clear()

  Selection.AutoFilter

End Sub

在此提前感谢您的帮助

在“过滤器1”或“过滤器2”之后没有出现错误是因为模块选择了一个范围

次清除()

'在使用选择之前必须选择

范围(“A1”)。选择

选择。自动筛选

端接头


这是工作表的私有代码表还是公共模块代码表中的代码?我相信这是公共代码表中的代码。我不能说我百分之百肯定,因为我还没有深入研究这些东西,但我认为我的vba上还没有任何私人的东西。我实际上只是有一个庞大的子命令列表。基本上,我所展示的正是我实际代码中的内容,只是更多的过滤器等等。