Страницы: 1
RSS
Автоматическое обновление текста, внедрённого в диаграмму
 
Добрый день! Есть вопрос об автоматическом обновлении текста, внедрённого в диаграмму.  
 
Имеем лист, ряд данных, ячейка с общим итогом этого ряда, на лист внедрена диаграмма с графиком этого ряда, в диаграмму рядом с графиком внедрён объект (прямоугольник) с текстом: «Общий итог равен <Итоговое значение ряда данных>».  
 
При изменении ряда данных график на диаграмме изменяется автоматически без посторонней помощи. И это хорошо. Хочется, чтобы и текст во внедрённом объекте также менялся автоматически вместе с изменением данных в ячейке с общим итогом ряда.  
 
Для начала сделал сперва «заготовку», путём записи макроса. Выделил прямоугольник, внедрённый в диаграмму, написал в нём «Общий итог: 3000». Получился следующий макрос:  
 
Sub Макрос1()  
   ActiveSheet.ChartObjects("Диагр. 1").Activate  
   ActiveChart.Shapes("Rectangle 1").Select  
   Selection.Characters.Text = "Общий итог: 3000"  
и т.д.  
 
Всё идёт нормально  
 
Теперь вставляю заготовку в макрос, расположенный в том самом листе, на котором находится диаграмма, и который должен запускаться при пересчёте данных на этом листе. Получается следующее:  
 
Public Sub Worksheet_Calculate()  
   ActiveSheet.ChartObjects("Диагр. 1").Activate  
   ActiveChart.Shapes("Rectangle 1").Select  
   Selection.Characters.Text = "Общий итог: "&Range("O3").Value  
и т. д.  
 
Пытаемся запустить – и тут имеем проблему. Макрос выдаёт ошибку при попытке сделать диаграмму активной, т.е. в первой же строке кода. Сообщение об ошибке имеет такой вид:  
 
«Rum-time error ‘1004’: Невозможно получить свойство ChartObjects класса Worksheet»  
 
Типа не может отыскать диаграмму. Ума не приложу – чего ему надо? Ведь код не сам выдумывал, но аккуратно записал. Заранее благодарен за помощь.
 
А 3000 откуда взялось? Что вычисляем?
 
Это произвольное значение - чтобы место не пустовало при ручной записи макроса :-) . Как Вы понимаете, целью "магнитофонной" записи было получить код для обращения к нужному объекту (внедрённому прямоугольнику), а уж сам текст со ссылкой на ячейку я дописывал вручную.
 
Если я правильно понял Вам макросы вообще ненадо  
73177
Спасибо
 
попробуйте изменять обычные значения
Спасибо
 
Так можно. Линк на ячейку А1.
 
О! Красиво!  
 
Век живи - век учись.  
 
Спасибо!  
 
Хотя всё равно интересно - почему макрос-то глючит?
Страницы: 1
Читают тему
Наверх