Добрый день! Прошу совета. Нашёл здесь на сайте решение по условному изменению цвета листа, но не могу его усовершенствовать.
Необходимо: Когда на листе1, например, А1=3, то на листе2 А1=1Т и цвет ярлыка листа2 автоматически краснеет.
Проблема: Автоматическое значение 1Т на листе2 достигается формулой, а вот покраснение листа2 происходит только при ручной активации листа2 и совершения на нём (вручную) какого-либо события (например, в любой ячейке что-то напечатать).
Вопрос: Прошу подсказать, что нужно сделать, чтобы при изменении значения А1 на листе1 изменение цвета других листов происходило "автоматом". Спасибо!
Добрый день! Прошу совета. Нашёл здесь на сайте решение по условному изменению цвета листа, но не могу его усовершенствовать.
Необходимо: Когда на листе1, например, А1=3, то на листе2 А1=1Т и цвет ярлыка листа2 автоматически краснеет.
Проблема: Автоматическое значение 1Т на листе2 достигается формулой, а вот покраснение листа2 происходит только при ручной активации листа2 и совершения на нём (вручную) какого-либо события (например, в любой ячейке что-то напечатать).
Вопрос: Прошу подсказать, что нужно сделать, чтобы при изменении значения А1 на листе1 изменение цвета других листов происходило "автоматом". Спасибо!mick-77
Очень признателен за столь быстрый ответ! Однако, прошу простить - моя вина - не уточнил. Смена цвета листа должна быть привязана к смене значения его ячейки (А1). Иными словами, необходимо автоматически изменить цвет тех листов, в чьих ячейках появилось значение 1Т. Разумно заметить, что 1Т в других листах появится при условии, что А1 листа1 =3, но в моей задаче как раз и принципиальна завязка с цветом на переменные А1 других листов.
В Вашем случае, автоматическое изменение цвета привязано к А1 листа1, а не к А1 любого другого листа, где ожидается появление 1Т значения.
to Karataev
Очень признателен за столь быстрый ответ! Однако, прошу простить - моя вина - не уточнил. Смена цвета листа должна быть привязана к смене значения его ячейки (А1). Иными словами, необходимо автоматически изменить цвет тех листов, в чьих ячейках появилось значение 1Т. Разумно заметить, что 1Т в других листах появится при условии, что А1 листа1 =3, но в моей задаче как раз и принципиальна завязка с цветом на переменные А1 других листов.
В Вашем случае, автоматическое изменение цвета привязано к А1 листа1, а не к А1 любого другого листа, где ожидается появление 1Т значения.mick-77
Изменил файл в посте 2. В Вашем случае, вместо моего способа можно использовать на листе 2 событие "Worksheet_Calculate", но если на листе 2 будет несколько формул, то это событие будет запускаться при пересчете любой формулы, а отследить, в какой ячейке пересчиталась формула, просто так нет возможности (нет штатных средств), что может замедлить работу с файлом. Поэтому лучше сначала попробовать предложенный мной вариант с событием "Worksheet_Change".
Изменил файл в посте 2. В Вашем случае, вместо моего способа можно использовать на листе 2 событие "Worksheet_Calculate", но если на листе 2 будет несколько формул, то это событие будет запускаться при пересчете любой формулы, а отследить, в какой ячейке пересчиталась формула, просто так нет возможности (нет штатных средств), что может замедлить работу с файлом. Поэтому лучше сначала попробовать предложенный мной вариант с событием "Worksheet_Change".Karataev
Сообщение отредактировал Karataev - Понедельник, 30.04.2018, 14:02
Спасибо Вам огромное за помощь! Но... Маленькое уточнение. Насколько я понял, данное автоматическое изменение цвета - результат "события" на листе, причём рукотворного вмешательства (как обязательное условие). Если мы в А1 листа1 вставим формулу, где значение этой ячейки = А1 листа3 (!), затем перейдём на лист3 и укажем в А1 цифру 3, то лист2, где по цепочке формул случится 1Т, уже не покраснеет. Дело в том, что в моем случае значения будут меняться по связям из другой книги и как такового ручного события на листе не предусмотрено. Надеялся, что изменение цвета можно возвести на уровень автоматизма формулы - поменялись данные в книге-источнике, появилось значение 3 в А1 листа1, на некоторых листах, согласно условию, возникли значения Т1 и эти листы покраснели для наглядности. Возможно ли изменение цвета при самостоятельном пересчёте формулы (как я выше неудачно попробовал) или всё-таки обязательно вручную задавать начало всей цепочке? Не сочтите это за каприз - желание довести это дело до автономности. Спасибо!
UPD Пока печатал вопрос Вы уже указали решение через Calculate - буду пробовать.
to Karataev
Спасибо Вам огромное за помощь! Но... Маленькое уточнение. Насколько я понял, данное автоматическое изменение цвета - результат "события" на листе, причём рукотворного вмешательства (как обязательное условие). Если мы в А1 листа1 вставим формулу, где значение этой ячейки = А1 листа3 (!), затем перейдём на лист3 и укажем в А1 цифру 3, то лист2, где по цепочке формул случится 1Т, уже не покраснеет. Дело в том, что в моем случае значения будут меняться по связям из другой книги и как такового ручного события на листе не предусмотрено. Надеялся, что изменение цвета можно возвести на уровень автоматизма формулы - поменялись данные в книге-источнике, появилось значение 3 в А1 листа1, на некоторых листах, согласно условию, возникли значения Т1 и эти листы покраснели для наглядности. Возможно ли изменение цвета при самостоятельном пересчёте формулы (как я выше неудачно попробовал) или всё-таки обязательно вручную задавать начало всей цепочке? Не сочтите это за каприз - желание довести это дело до автономности. Спасибо!
UPD Пока печатал вопрос Вы уже указали решение через Calculate - буду пробовать.mick-77
Сообщение отредактировал mick-77 - Понедельник, 30.04.2018, 14:58
Извините, пожалуйста, что не точно сформулировал задачу и отнял время! Всего-то, по большому счёту, надо было поменять Change на Calculate при первоначальном варианте.
Спасибо, что помогли разобраться и найти решение!
Извините, пожалуйста, что не точно сформулировал задачу и отнял время! Всего-то, по большому счёту, надо было поменять Change на Calculate при первоначальном варианте.
Спасибо, что помогли разобраться и найти решение!mick-77