Я использую следующий код для обновления автофильтра в Excel при смене ячейки.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim MySheet As Worksheet
'On Error Resume Next
'Set MySheet = Application.ActiveSheet
'MySheet.Columns(1).AutoFilter.ApplyFilter
'On Error Resume Next
'Application.EnableEvents = False
Worksheets("Basisgegevens").Range("$A$1:$A$146").AutoFilter Field:=1, Criteria1:=Array("0", _
"2", "="), Operator:=xlFilterValues
'Application.EnableEvents = True
'On Error GoTo 0
End Sub
Я использую это, чтобы скрыть строки на основе определенных критериев.И для этого он работает очень хорошо.
Проблема
Однако, когда я устанавливаю проверку для ячейки и добавляю один из этих крутых выпадающих списков.
Чтобы ячейка выглядела следующим образом:
Эта часть работает нормально, но как только я выбираю другое значение, заставляет автофильтр скрывать / отображать разные ячейки Excel вылетает
Моя теория
Раскрывающийся список проверки изменяет ячейку.
Это вызывает код VBA, показанный выше.
Однако код проверкивсе еще работает, в то время как настройки фильтра переинициализируются.
Это приводит к сбою Excel.
Как это исправить?
Поможет ли задержка запуска события VBA?
Как мне это сделать?