Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Изменить цвет ярлыка неактивного листа по условию - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Изменить цвет ярлыка неактивного листа по условию
mick-77 Дата: Понедельник, 30.04.2018, 11:57 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Добрый день!
Прошу совета.
Нашёл здесь на сайте решение по условному изменению цвета листа, но не могу его усовершенствовать.

Необходимо:
Когда на листе1, например, А1=3, то на листе2 А1=1Т и цвет ярлыка листа2 автоматически краснеет.

Проблема:
Автоматическое значение 1Т на листе2 достигается формулой, а вот покраснение листа2 происходит только при ручной активации листа2 и совершения на нём (вручную) какого-либо события (например, в любой ячейке что-то напечатать).

Вопрос:
Прошу подсказать, что нужно сделать, чтобы при изменении значения А1 на листе1 изменение цвета других листов происходило "автоматом".
Спасибо!
К сообщению приложен файл: __03.xls (35.0 Kb)
 
Ответить
СообщениеДобрый день!
Прошу совета.
Нашёл здесь на сайте решение по условному изменению цвета листа, но не могу его усовершенствовать.

Необходимо:
Когда на листе1, например, А1=3, то на листе2 А1=1Т и цвет ярлыка листа2 автоматически краснеет.

Проблема:
Автоматическое значение 1Т на листе2 достигается формулой, а вот покраснение листа2 происходит только при ручной активации листа2 и совершения на нём (вручную) какого-либо события (например, в любой ячейке что-то напечатать).

Вопрос:
Прошу подсказать, что нужно сделать, чтобы при изменении значения А1 на листе1 изменение цвета других листов происходило "автоматом".
Спасибо!

Автор - mick-77
Дата добавления - 30.04.2018 в 11:57
Karataev Дата: Понедельник, 30.04.2018, 12:09 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 1336
Репутация: 533 ±
Замечаний: 0% ±

Excel
см. файл
К сообщению приложен файл: _03_kar.xls (32.5 Kb)


Сообщение отредактировал Karataev - Понедельник, 30.04.2018, 15:01
 
Ответить
Сообщениесм. файл

Автор - Karataev
Дата добавления - 30.04.2018 в 12:09
mick-77 Дата: Понедельник, 30.04.2018, 13:07 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
to Karataev

Очень признателен за столь быстрый ответ!
Однако, прошу простить - моя вина - не уточнил.
Смена цвета листа должна быть привязана к смене значения его ячейки (А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
Дата добавления - 30.04.2018 в 13:07
Karataev Дата: Понедельник, 30.04.2018, 13:55 | Сообщение № 4
Группа: Проверенные
Ранг: Старожил
Сообщений: 1336
Репутация: 533 ±
Замечаний: 0% ±

Excel
Изменил файл в посте 2.
В Вашем случае, вместо моего способа можно использовать на листе 2 событие "Worksheet_Calculate", но если на листе 2 будет несколько формул, то это событие будет запускаться при пересчете любой формулы, а отследить, в какой ячейке пересчиталась формула, просто так нет возможности (нет штатных средств), что может замедлить работу с файлом.
Поэтому лучше сначала попробовать предложенный мной вариант с событием "Worksheet_Change".


Сообщение отредактировал Karataev - Понедельник, 30.04.2018, 14:02
 
Ответить
СообщениеИзменил файл в посте 2.
В Вашем случае, вместо моего способа можно использовать на листе 2 событие "Worksheet_Calculate", но если на листе 2 будет несколько формул, то это событие будет запускаться при пересчете любой формулы, а отследить, в какой ячейке пересчиталась формула, просто так нет возможности (нет штатных средств), что может замедлить работу с файлом.
Поэтому лучше сначала попробовать предложенный мной вариант с событием "Worksheet_Change".

Автор - Karataev
Дата добавления - 30.04.2018 в 13:55
mick-77 Дата: Понедельник, 30.04.2018, 14:57 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
to Karataev

Спасибо Вам огромное за помощь!
Но...
Маленькое уточнение.
Насколько я понял, данное автоматическое изменение цвета - результат "события" на листе, причём рукотворного вмешательства (как обязательное условие).
Если мы в А1 листа1 вставим формулу, где значение этой ячейки = А1 листа3 (!), затем перейдём на лист3 и укажем в А1 цифру 3, то лист2, где по цепочке формул случится 1Т, уже не покраснеет.
Дело в том, что в моем случае значения будут меняться по связям из другой книги и как такового ручного события на листе не предусмотрено. Надеялся, что изменение цвета можно возвести на уровень автоматизма формулы - поменялись данные в книге-источнике, появилось значение 3 в А1 листа1, на некоторых листах, согласно условию, возникли значения Т1 и эти листы покраснели для наглядности.
Возможно ли изменение цвета при самостоятельном пересчёте формулы (как я выше неудачно попробовал) или всё-таки обязательно вручную задавать начало всей цепочке?
Не сочтите это за каприз - желание довести это дело до автономности.
Спасибо!

UPD
Пока печатал вопрос Вы уже указали решение через Calculate - буду пробовать.


Сообщение отредактировал mick-77 - Понедельник, 30.04.2018, 14:58
 
Ответить
Сообщениеto Karataev

Спасибо Вам огромное за помощь!
Но...
Маленькое уточнение.
Насколько я понял, данное автоматическое изменение цвета - результат "события" на листе, причём рукотворного вмешательства (как обязательное условие).
Если мы в А1 листа1 вставим формулу, где значение этой ячейки = А1 листа3 (!), затем перейдём на лист3 и укажем в А1 цифру 3, то лист2, где по цепочке формул случится 1Т, уже не покраснеет.
Дело в том, что в моем случае значения будут меняться по связям из другой книги и как такового ручного события на листе не предусмотрено. Надеялся, что изменение цвета можно возвести на уровень автоматизма формулы - поменялись данные в книге-источнике, появилось значение 3 в А1 листа1, на некоторых листах, согласно условию, возникли значения Т1 и эти листы покраснели для наглядности.
Возможно ли изменение цвета при самостоятельном пересчёте формулы (как я выше неудачно попробовал) или всё-таки обязательно вручную задавать начало всей цепочке?
Не сочтите это за каприз - желание довести это дело до автономности.
Спасибо!

UPD
Пока печатал вопрос Вы уже указали решение через Calculate - буду пробовать.

Автор - mick-77
Дата добавления - 30.04.2018 в 14:57
Karataev Дата: Понедельник, 30.04.2018, 15:02 | Сообщение № 6
Группа: Проверенные
Ранг: Старожил
Сообщений: 1336
Репутация: 533 ±
Замечаний: 0% ±

Excel
Изменил файл в посте 2. Заменил событие "Worksheet_Change" на "Worksheet_Calculate" и немного изменил Ваш макрос.
 
Ответить
СообщениеИзменил файл в посте 2. Заменил событие "Worksheet_Change" на "Worksheet_Calculate" и немного изменил Ваш макрос.

Автор - Karataev
Дата добавления - 30.04.2018 в 15:02
mick-77 Дата: Понедельник, 30.04.2018, 15:41 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Извините, пожалуйста, что не точно сформулировал задачу и отнял время!
Всего-то, по большому счёту, надо было поменять Change на Calculate при первоначальном варианте.

Спасибо, что помогли разобраться и найти решение!
 
Ответить
СообщениеИзвините, пожалуйста, что не точно сформулировал задачу и отнял время!
Всего-то, по большому счёту, надо было поменять Change на Calculate при первоначальном варианте.

Спасибо, что помогли разобраться и найти решение!

Автор - mick-77
Дата добавления - 30.04.2018 в 15:41
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!