Страницы: 1
RSS
Условное форматирование с ссылкой на другой лист
 
Здравствуйте друзья! У меня возникла проблема следующего рода, подскажите кто знает.

На Листе1 приложенного примера, в ячейки А1 я прописал три условия для УСЛОВНОГО ФОРМАТИРОВАНИЯ. Соответсвенно цвет меняется в зависимости от значения ячейки D1. Все работает как надо. Но тут появилась проблема. Если в одном из листов "фрукты, овощи или колбасы" вручную поменять цвет ячеек, то условия Условного форматирования в ячейке А1 Листа1 тоже придется менять вручную... В данном примере это сделать легко, но когда листов множества с этим может возникнуть большая проблема.

Теперь собственно вопрос, можно ли в екселе прописать условия Условного форматирования так, чтобы цвет в ячейке А1 Листа1 менялся автоматически, при изменении цвета в других листах? Ну например, если в листе "фрукты" в ячейке А2 я цвет сменю с желтого на красный, то необходимо чтобы цвет ячейки А1 Листа1 тоже поменялся на красный. Естественно при привязке ячейки А1 к ячейке D1. Вообще технически это возможно или Ексель не обладает такими функциями? И если все же не обладает, то может это можно сделать макросом?
Изменено: Nik57 - 20.02.2018 13:01:32
 
Это был файл с  "лучшим" примером, что был открыт мной на форуме :-)  Компактно, чисто, без изъяна, правда и без информации.
По вопросам из тем форума, личку не читаю.
 
ОФФТОП

БМВ, :D  :D  :D  
Не бойтесь совершенства. Вам его не достичь.
 
БМВ, да уж, точно что то не так))))
исправил
 
Иными словами, Вы хотите ваши категории красить автоматически теми цветами, что зададите путем раскрашивания таблиц руками .
Стандартными методами  - нет , только VBA, который пробежится и скорректирует условное форматирование по всему файлу. Вопрос, по какому признаку  код найдет то, что нужно поменять  открытый, но решаемый.

Пример надо был просто перезаписать в первом сообщении, ну или убрать там оставив в №4
По вопросам из тем форума, личку не читаю.
 
БМВ, понял. если без кода никуда, тогда переформулирую вопрос с более расширенной обрисовкой ситуации, и более корректными условиями. Думал что если возможно решение без кода, то просто скорректирую это решение под свой пример.
 
БМВ, корректирую вопрос с уточнением.
На листе1 ячейка BD1 - формула, генерирующая результат от "1" до "10". Есть 10 листов с одинаковым диапазонов А1:I30, только на каждом листе диапазона присутствует свой цвет ячеек.

Если в ячейке BD1 будет результат вычисления формулы "1", то при использовании макроса диапазон А1:I30 листа1 должен окраситься так же, как диапазон листа2; если в ячейке BD1 будет результат вычисления формулы "2", то при использовании макроса диапазон А1:I30 листа1 должен окраситься так же, как диапазон листа3 и тд на все листы.
 
а Вы догадываетесь, что если вначале формула выдаст 2, то 2 зарисуется как 3, но той замысловатой раскраски из 2 Вы уже нигде не найдете она похоронена раскраской 3.
Вы этого эффекта добиваетесь?
понимаете, если последовательно формула Выдаст 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 - всё! все листы раскрашены как лист 11 и НИ ОДНА из живших там цветовых схем не сохранилась.
после этого чты бы негенерировалось формулой закраска ячеек не поменяется, после этого нет смысла вообще копировать раскраски они уже одинаковы.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ігор Гончаренко, Может я скажу глупость ввиду своей непонятливости работы макросов)) или вы меня просто не поняли.
Не требуется, чтобы все листы красились в последовательной цепочки. Цвет листов "2-11" это константы. они не меняются (точнее меняются но вручную). В том и смысл, что требуется, чтобы цвет диапазона менялся только на Листе1.
Тоесть перевыложил пример. В ячейке BD1 - результат вычисления "10". Тоесть диапазон А1:I30 после использования макроса должен стать такого цвета как в примере. Эти цвета такие же как на листе 11.  Если я в ячейку BD3 введу значение 8, то цвет диапазона на первом листе. после использования макроса,  должен стать таким же как и на листе "9".
 
и вообще "Условное форматирование" - это вполне определенный инструмент Excel
а то, что описываете Вы - это
"как скопировать заливку ячеек с другого листа?"
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ігор Гончаренко, изначально идея таковой и была, использовать условное форматирование, но подсказали что сделать без макроса это невозможно, поэтому вопрос и развился дальше
 
Nik57, Сказочник из Вас прям скажем не важный.
из первого примера Есть лист Фрукты, с перечислением конкртеных фруктов. Список руками закрашен желтым.  В С1 ввели мандарин и в d1 что это фрукт пошарив по спискам. Далее УФ покрасил С1 в соответвии с категорией. Так?
Что при изменении цвета формата в списках должен перестраиваться формат УФ.
По вопросам из тем форума, личку не читаю.
 
см.вложение
(извините с последовательной закраской листов читал не внимательно и понял не правильно)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
БМВ, да прописано там в принципе тоже самое. Просто второй вариант получился проще))) а суть одна и та же)
 
Ігор Гончаренко, да все работает так как надо! Только я ничего не понял, как все это происходит))) Это же не макрос, я правильно понимаю?)
Думал будет код, который можно скопировать к себе и поправить где нужно... а тут что то загадочное, не могли бы пояснить))) :)
 
а вот и макрос))
в модуле листа 1 скромные несколько строк:
Код
Private Sub Worksheet_Calculate()
  If Cells(1, 56) > 1 And Cells(1, 56) < 11 Then
    Worksheets("" & Cells(1, 56) + 1).Cells(1, 1).Resize(30, 9).Copy
    Cells(1, 1).PasteSpecial Paste:=xlPasteFormats
  End If
End Sub
срабатывает он при каждом пересчете листа. формула в ВД1 что-то новое сосчитатла - все перерисовалось, даже если сосчитала тоже самое - все равно  на лист1 ячейки заливаются цветами с соотв. листа.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
и заодно можете сразу в нем исправить ошибку
If Cells(1, 56) > 1 And Cells(1, 56) < 11 Then
на
If Cells(1, 56) >= 1 And Cells(1, 56) < 11 Then
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ігор Гончаренко, ломал я голову, ломал, так ничего и не смог придумать. Хотел домыслить сам, но не смог получить под свою таблицу конечный результат. Вот снова прошу помочь уже по конкретному своему примеру. В моей таблице 110 листов. Лист 1-21 заполнены информацией, не относящейся к тематике проблемы. С листа 22 по лист Лист 31 включительно диапазоны A:I окрашены в цвет. Лист 32, так же несет вторичную информацию как и первые листы. Листы 33-42 включительно - листы на которые должен работать макрос, остальные листы второстепенны.

На листах 33-42 диапазоны A:I, на которые и должен работать макрос. Тоесть, если в листе 33 ячейка BD =1, то диапазон окрашивается с листа 22, если в листе 33 ячейка BD =2, то диапазон окрашивается с листа 23 и тд ....... если в листе 33 ячейка BD =10, то диапазон окрашивается с листа 31.

если в листе 34 ячейка BD =1, то диапазон окрашивается с листа 22, если в листе 34 ячейка BD =2, то диапазон окрашивается с листа 23 и тд ....... если в листе 34 ячейка BD =10, то диапазон окрашивается с листа 31.

и тд......

если в листе 43 ячейка BD =1, то диапазон окрашивается с листа 22, если в листе 43 ячейка BD =2, то диапазон окрашивается с листа 23 и тд ....... если в листе 43 ячейка BD =10, то диапазон окрашивается с листа 31.

Заранее спасибо за помощь!
Страницы: 1
Читают тему
Наверх