это снова я - я в конечном итоге лучше узнаю этот язык.
В основном - у меня есть большая таблица данных, для которой включен автофильтр - диапазон "$ B $ 5: $ Z $ 1697"
Однако в столбце R есть дополнительный фильтр, который я хочу включить или выключить.
Поэтому мне нужно утверждение If, которое говорит, что когда дополнительный фильтр включен, удалите, тогда как, если фильтр не включен в момент нажатия кнопки - примените его.
Я поиграл с этим и посмотрел больше видео, которые хочу признаться. Однако должно быть что-то, что я пропускаю или не понимаю.
Код работает до строки Else, которая возвращает:
«Ошибка компиляции, синтаксическая ошибка».
Может кто-нибудь объяснить, что происходит?
If Sheets(4).Range("$B$5:$Z$1697").AutoFilter(Field:=17, Criteria1:="=") = True Then
'If there specific filter on column R is on then
Sheets(4).Range("$B$5:$Z$1697").AutoFilter Field:=17
'Turn off that filter.
Else: Sheets(4).Range("$B$5:$Z$1697").AutoFilter(Field:=17, Criteria1:="=")
'Else, if the filter is off, turn it on.
End If
End Sub
РЕДАКТИРОВАТЬ: я исправил код, исправляя эту строку ELSE к этому
Else: Sheets(4).Range("$B$5:$Z$1697").AutoFilter(Field:=17, Criteria1:="=") = True
Однако, когда я запускаю это сейчас, это означает, что он включает и снова выключает фильтр одним нажатием кнопки. Как мне сделать так, чтобы он только вносил изменения одновременно.
т.е. если фильтр включен при нажатии кнопки, он ТОЛЬКО выключает его.
и наоборот