Строка рабочего листа скрывается в Excel VBA, когда входное значение находится в формате уравнения

Это расширение моего предыдущего вопроса . Вот скриншот для трех случаев:

введите описание изображения здесь

Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("G1")) Is Nothing Then Rows("5:10").EntireRow.Hidden = CBool(Range("G1").Value <= 10) End If End Sub 

Я использовал ответное уравнение из предыдущего сообщения. Он работал, когда я вручную вводил значения в ячейку G1 . Когда я использую формулу G1=H1 , она перестает работать.

Вам нужно использовать событие Worksheet_Calculate ():

 Private Sub Worksheet_Calculate() Rows("5:10").EntireRow.Hidden = CBool(Range("G1").Value <= 10) End Sub 

Событие Worksheet_Change имеет дело только с ячейками, которые напрямую изменяются пользователем, а тот срабатывает всякий раз, когда вычисляется лист.

введите описание изображения здесь

введите описание изображения здесь

Interesting Posts

Функция SUM с данными другого листа

Слишком много методов

Как скопировать условное форматирование с одного листа на другой через apche POI?

VBA в Excel для заполнения поля .from из ячейки на листе

Excel Цитирование через ячейки с помощью vbTextCompare для назначения категорий

Определить значение в зависимости от категориальных переменных

Согласование строкового значения с импортированной ячейкой листа excel

sql-запрос для импорта данных из таблицы Excel 2003-2007 в таблицу sql server

Проверка уникального составного ключа в excel с использованием макроса

Каков наиболее эффективный / быстрый способ циклического преобразования строк в VBA (excel)?

Перестановка массива в VBA для вычисления индекса мощности Шапли-Шубика

MS SQL из X colums создает 1 столбец

Excel Vba получает значение ячейки и устанавливает строку

Excel VBA: поиск объекта в диапазоне

Ошибки, возникающие после перемещения элементов на UserForms

Давайте будем гением компьютера.