Я создал макрос, который фильтрует на основе значения ячейки, которое работает нормально.
Range("A1:L1").AutoFilter Field:=4, Criteria1:=Range("U1")
Мне нужен этот макрос для запуска каждый раз, когда изменяется значение ячейки.
Я написал макрос, но он не работает, я не получаю никаких ошибок, просто ничего не происходит.
Я пытался:
Private Sub Worksheet_Tabelle1(ByVal Target As Range)
If Target.Address = "$U$1" Then
Application.EnableEvents = False
Range("A1:L1").AutoFilter Field:=4, Criteria1:=Range("U1")
Application.EnableEvents = True
End If
End Sub
Эта версия должна просто выполнять код, а не вызывать макрос. Я изменил Worksheet_xxxxx на имя листа и попробовал другие вещи.
Я тоже пробовал:
Private Sub Worksheet_Arbeitstabelle(ByVal Target As Range)
If Target.Address = "$U$1" Then
Call Macro1
End If
End Sub
Эта версия должна вызывать следующий макрос:
Sub Macro1()
Range("A1:L1").AutoFilter Field:=4, Criteria1:=Range("U1")
End Sub
Я поместил все макросы Private Sub на Рабочий лист и Macro1 в модуль.
Файл .xlsm и не имеет никаких проблем при запуске других макросов, поэтому я не знаю, почему он не работает. Я думаю, что я, вероятно, сделал что-то не так с именами, поэтому вот имена:
![All Sheets with names](https://i.stack.imgur.com/kH3nT.png)