Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Автоматическое обновление текста, внедрённого в диаграмму
 
О! Красиво!  
 
Век живи - век учись.  
 
Спасибо!  
 
Хотя всё равно интересно - почему макрос-то глючит?
Автоматическое обновление текста, внедрённого в диаграмму
 
Это произвольное значение - чтобы место не пустовало при ручной записи макроса :-) . Как Вы понимаете, целью "магнитофонной" записи было получить код для обращения к нужному объекту (внедрённому прямоугольнику), а уж сам текст со ссылкой на ячейку я дописывал вручную.
Автоматическое обновление текста, внедрённого в диаграмму
 
Добрый день! Есть вопрос об автоматическом обновлении текста, внедрённого в диаграмму.  
 
Имеем лист, ряд данных, ячейка с общим итогом этого ряда, на лист внедрена диаграмма с графиком этого ряда, в диаграмму рядом с графиком внедрён объект (прямоугольник) с текстом: «Общий итог равен <Итоговое значение ряда данных>».  
 
При изменении ряда данных график на диаграмме изменяется автоматически без посторонней помощи. И это хорошо. Хочется, чтобы и текст во внедрённом объекте также менялся автоматически вместе с изменением данных в ячейке с общим итогом ряда.  
 
Для начала сделал сперва «заготовку», путём записи макроса. Выделил прямоугольник, внедрённый в диаграмму, написал в нём «Общий итог: 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»  
 
Типа не может отыскать диаграмму. Ума не приложу – чего ему надо? Ведь код не сам выдумывал, но аккуратно записал. Заранее благодарен за помощь.
Округление до тыс. или млн. пользовательским форматом с пробелом
 
{quote}{login=KuklP}{date=18.08.2010 11:29}{thema=}{post}В А1 с двумя пробелами в Б1 с одним{/post}{/quote}  
 
Спасибо! До меня дошло. Дело-то было в другом. Нужно указывать не "пробел", а "разделитель групп разрядов", который используется в настройках Ёкселя. По умолчанию это пробел. Но у меня принудительно указана "," (Сервис - Параметры - Международные). Поэтому при использовании пробела ничего не получалось. Открыл Ваш файл примера, смотрю - Вы пишете "пробел", а в файле стоит "запятая". Что за чудеса! А потом допёр, что мой Ех читает указанный вами разделитель групп разрядов как может. Век живи - век учись.  
 
Спасибо!!!
Округление до тыс. или млн. пользовательским форматом с пробелом
 
Прочитал в умной книжке (Уокенбах Джон, Подробное руководство по созданию формул в Excel 2002, М., "Вильямс", 2002г., стр.599-600), что если добавить в конце маски числового формата пробел (два пробела), то число будет отображаться округлённым до тысяч (миллионов).  
 
На сайте on-line-teaching.com/excel/lsn009.html нашёл подтверждение этому:  
Цитата:  
С помощью пробела можно округлять числа. Так один пробел в конце формата округляет и выводит числа с точностью до тысячи, два пробела - с точностью миллиона.  
ПРИМЕР:  
Формат # ### ### (один пробел в конце формата). Число 4683721 будет выведено так - 4 684  
Формат # ### ### (два пробела в конце формата). Число 4683721 будет выведено так – 5  
Конец цитаты.  
 
Наконец, в справке Excel говорится то же самое.  
 
Вроде бы всё просто как апельсин. Пробую – ничего не получается. Числа отображаются как есть, только добавляется отступ справа (добавляется тот самый пробел). Может тут секрет какой? Кто подскажет? А может выложит файл с примером?
Страницы: 1
Наверх