Страницы: 1
RSS
Скрыть/отобразить диаграмму по условию
 
Приветствую. С Новым годом всех!
Как можно скрыть/ отобразить всю диаграмму по условию. Если б как-нибудь без макросов... Но что-то мне кажется с этим пролёт... Детали в аттаче.
 
Отображаем только при 1, любое другое значение - скрываем.
 
думаю, без макросов невозможно.
вариант с макросом - очевидно элементарен и элементарно очевиден  :)
Изменено: ikki - 01.01.2013 21:27:13
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
пс. хочется сложную задачку  :(
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Цитата
ikki пишет:
пс.  хочется сложную задачку :(

Я понимаю, что макросами оно решается как-то не сложно, только я в них ни-ни. :(
Спасибо! Попробую внедрить в свою прогу.
 
:D
 
Интересный вариант  :) , но не для моего случая. У меня отображается много рядов данных и графики многоцветные. И честно говоря, не въехал каким образом меняется цвет заливки диаграммы.
Excel 2003
 
Это же конечно своего-рода шутка :D
Диаграмма полностью белая, а под ней обычное условное форматирование.
 
Цитата
Nic70y пишет:
Диаграмма полностью белая
Это понятно, а о заливке условным форматированием не подумал. А почему шутка? После защиты листа вполне, только с цветом поиграться. :)  Но не мой случай.
 
Ctrl+6 - не вариант?
Вручную, но быстро. Прячется, но вместе с другими объектами :)
 
Ребята, вариант давно предложили Юрий М и ikki. Спасибо. Можно закрывать.  :)
Изменено: doctor_dae - 03.01.2013 08:59:17
 
Ребята, а как сделать что бы в варианте с макросом, например от Ю.М. диаграмма скрывалась/отображалась в зависимости от результата вычисления по формуле?
Изменено: doctor_dae - 09.01.2013 23:56:36
 
Используйте событие Worksheet_Calculate и проверяйте значение ячейки.
 
К сожалению, не получается у меня внедрить их в мою прогу.  :(  Реальные условия у меня немного не такие, как я ранее дал в примере: скрываемые графики на двух листах, а данные и признаки скрытия на третьем. Знаний в VBA - увы и никак не въеду как и где надо адресовать. Более полные условия в аттаче. Помогите, пожалуйста.
Изменено: doctor_dae - 12.01.2013 02:53:58
 
Цитата
doctor_dae пишет:
Реальные условия у меня немного не такие, как я ранее дал в примере
Ну и кто же Вам мешал СРАЗУ показать реальные?
Что за значение "!1 нет"? Откуда оно берётся?
Как понять "любое другое"? А какое не "любое"?
Где Ваши попытки, или хотя бы "старый" код?
 
Значение  "!1  нет" - это запись в базе данных. Любое другое - это НЕ "!1  нет", а любая комбинация букв/цифр. Я планировал с помощью формулы ЕСЛИ (разместить её на листе со скрываемыми  графиками) проверять это значение в базе и скрывать или не скрывать графики. И макрос, который Вы написали (первый ответ в этой теме) отлично работает, если я вручную вписываю 0 или 1, но когда эти 0 и 1 являются результатом вычисления формулы ЕСЛИ, то макрос "видит" не результат "вычислений", а саму формулу и соответственно никак не реагирует. Вот поэтому я и думаю что надо либо макросом осуществлять эту проверку и вписывать эти 0 или 1 в лист с графиками, а дальше будет работать написаный Вами макрос, либо что бы макрос сразу проверял значение в базе данных. Но поскольку база данных и графики находятся на разных листах, я не представляю, как это сделать. Не знаю, понятно ли объяснил ситуацию.
 
В предыдущем файле Вы пишете: "Как заставить его реагировать на результат вычисления или следить непосредственно за значением в ячейке Данные!$E$21" - Вы уж определитесь, что контролировать: результат, возвращаемый формулой, или значение на другом листе.Это ведь разные вещи.
Далее - "диаграмма должна быть "скрыта", при любом другом - отображаться" - а на листах по две диаграммы - КАКУЮ скрывать/отображать?*
В моём макросе есть строка:
ActiveSheet.Shapes("Chart 1").Visible = True
подставляйте вместо ActiveSheet имя конкретного листа и всё будет работать.
P.S. Если у Вас сложности с обращением к диаграмме на листе - скрывайте целиком лист с диаграммой. Обычно диаграммы реагируют на изменение данных немного иначе - они не прячутся, а что-то меняется на самой диаграмме.
 
<<Вы уж определитесь, что контролировать: результат, возвращаемый формулой, или значение на другом листе.Это ведь разные вещи.>>
Лучше результат, возвращаемый формулой.

<< "диаграмма должна быть "скрыта", при любом другом - отображаться" - а на листах по две диаграммы - КАКУЮ скрывать/отображать?*>>
Обе. Которые не надо скрывать я не "рисовал".

Скрывать лист нельзя, на нём остаются нужные диаграммы.

<<подставляйте вместо ActiveSheet имя конкретного листа и всё будет работать.>>
а вот это попробую, спасибо. Только, если можно, пример такой строчки.
 
ActiveSheet.Shapes("Chart 1"  ;)  .Visible = True
Цитата
doctor_dae пишет:
если можно, пример такой строчки.
Sheets("Лист1")  .Shapes("Chart 1")  .Visible = True
См. пример с проверкой формул.
P.S. Если бы сразу сказали про формулы - результат давно бы уже был.
 
<<См. пример с проверкой формул.>>
СУПЕР!! Это вариант о котором я мечтал  :)
Спасибо!!!
 
А если у меня изначально есть нормализованная диаграмма с 7 делениями, я хочу по условию показывать только первое или только второе, т.е чтобы она становилась столбчатой при показе 1 категории, а при включении всех снова нормализованной Пример не могу загрузить
Изменено: Olezha28 - 18.07.2019 18:11:01
 
Вопрос не по теме
Страницы: 1
Наверх