Кнопка переключения VBA для фильтра, не запускающего второе условие - PullRequest
0 голосов
/ 03 июня 2019

Я задал очень похожий вопрос на этот вопрос ранее в другом проекте, поэтому я уже просмотрел их предложения и попытался реализовать их в коде здесь. Тем не менее, ничего из этого не работает ... Вот вопрос для справки: Компиляция - синтаксическая ошибка: при переключении выберите фильтр с помощью оператора If

Я не знаю, является ли это просто незамеченной ошибкой или чем-то конкретным в отношении объектов и синтаксиса, которые я не знаю.

По сути, я хочу, чтобы здесь была кнопка переключения - при ее нажатии она переключается между фильтрацией столбца Q, чтобы показать только непринятые задания, и сбросом этого фильтра, чтобы он отображал все задания.

Каким-то образом в моем коде он воспроизводит только часть IF, а не Else. Это не строки кода фильтра, как если бы я переместил другой оператор, чтобы он был первым оператором, который выполняется без ошибок, иначе он не воспроизводит оператор 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 голосов
/ 03 июня 2019

Как, скажем, в комментарии, вы должны ShowRejected по имени вашего button.

Код ниже работает нормально:

Private Sub ToggleButton1_Click()
If ToggleButton1.Value = True Then
   MsgBox "if"
Else:
   MsgBox "else"
End If
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...