Всем добрый день. Прошу вашей помощи, вопрос не сложный, но я уже всю голову сломал. Нашел на одном дружественном сайте макрос для расширенного фильтра в ексель (если можно, выложу ссылку на макрос). Все бы супер, но необходимо чтобы макрос срабатывал по ячейке которая является формулой. Смотрите приложенный пример. Пояснения к примеру: Фильтр C2 (красным выделил) - это формула, которая берет значение из другого листа B2 (вкладка Формула). Макрос выполняется только если я встаю в С2 и нажимаю enter. Как сделать так, чтобы макрос выполнялся автоматически при изменении значения (пересчете формулы)?
Всем добрый день. Прошу вашей помощи, вопрос не сложный, но я уже всю голову сломал. Нашел на одном дружественном сайте макрос для расширенного фильтра в ексель (если можно, выложу ссылку на макрос). Все бы супер, но необходимо чтобы макрос срабатывал по ячейке которая является формулой. Смотрите приложенный пример. Пояснения к примеру: Фильтр C2 (красным выделил) - это формула, которая берет значение из другого листа B2 (вкладка Формула). Макрос выполняется только если я встаю в С2 и нажимаю enter. Как сделать так, чтобы макрос выполнялся автоматически при изменении значения (пересчете формулы)?VVeps
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address(0, 0) = "B2" Then Лист1.Range("C1").Formula = Лист1.Range("C1").Formula End If End Sub
[/vba]
А если в модуль второго листа написать [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address(0, 0) = "B2" Then Лист1.Range("C1").Formula = Лист1.Range("C1").Formula End If End Sub
сработает, если на листе формула в В2 забивать вручную
Естессно. Но хоть где-то хоть что-то в файле забивается вручную или макросом, правильно? Вот на это гдеточтото и ставим реакцию на событие А Worksheet_Calculate я совершенно сознательно не стал делать - это первая мысль была - так получится, что с каждым телодвижение автофильтр перерисовываться станет. Не каждому файлу это понравится
сработает, если на листе формула в В2 забивать вручную
Естессно. Но хоть где-то хоть что-то в файле забивается вручную или макросом, правильно? Вот на это гдеточтото и ставим реакцию на событие А Worksheet_Calculate я совершенно сознательно не стал делать - это первая мысль была - так получится, что с каждым телодвижение автофильтр перерисовываться станет. Не каждому файлу это понравится_Boroda_
Цитата _Boroda_, 12.09.2017 в 11:44, в сообщении № 6 ( писал(а)): с каждым телодвижение автофильтр перерисовываться станет Ага, с большим файлом будут жуткие тормоза
ну в таком ключе чтобы нагрузку на расчеты снизить можно сохранить значения из A1:D1, и при калькуляции сравнивать если они не совпадают с текущими в ячейках, запускать Worksheet_Change
Цитата _Boroda_, 12.09.2017 в 11:44, в сообщении № 6 ( писал(а)): с каждым телодвижение автофильтр перерисовываться станет Ага, с большим файлом будут жуткие тормоза
ну в таком ключе чтобы нагрузку на расчеты снизить можно сохранить значения из A1:D1, и при калькуляции сравнивать если они не совпадают с текущими в ячейках, запускать Worksheet_ChangeK-SerJC