VBA切换按钮的筛选器未运行第二种情况

时间:2019-06-03 10:00:40

标签: excel vba activex

在另一个项目上,我之前曾问过一个非常类似的问题,因此,我已经仔细研究了他们的建议,并尝试在此处的代码中实现它们。但是,它们都没有起作用... 这是供参考的问题: Compile - Syntax Error: When toggling select filter with If Statement

我不知道这是只是一个未被注意的错误,还是我不知道的有关对象和语法的特定信息。

基本上,我在这里想要的是一个切换按钮-按下该按钮时,它会在过滤Q列以仅显示不接受的作业和重置该过滤器以显示所有作业之间切换。

在我的代码中,它只播放语句的IF部分,而不播放其他内容。 这不是过滤器代码行本身,就好像我将另一个移动到第一个运行时没有错误的语句一样,不同之处在于它不会在下次按下时播放else语句。

任何人都可以帮助

Private Sub ToggleButton1_Click()


If ShowRejected.Value = True Then

   Sheets(1).ListObjects("Table1").Range.AutoFilter Field:=12, Criteria1:= _
    "Not Accepted"
    'when selected(enabled) the filter for Col "Q" will be enabled, showing only the jobs that have been rejected by partners
Else:

    Sheets(1).ListObjects("Table1").Range.AutoFilter Field:=12
    'when selected again(disabled) the filter for Col "Q" will be Disabled, therefore showing all jobs
   End If
End Sub

编辑-对我的工作表进行更改后,它可以正常工作

1 个答案:

答案 0 :(得分:0)

就像在评论中说的那样,您必须ShowRejected的名字来button

下面的代码可以正常工作:

Private Sub ToggleButton1_Click()
If ToggleButton1.Value = True Then
   MsgBox "if"
Else:
   MsgBox "else"
End If
End Sub