Excel это не сложно
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
28.03.2024, 13:14:43

Войти
На форуме добавлена возможность подписки на RSS-ленты любого раздела форума. Подписаться можно, нажав на иконку RSS , расположенную левее наименования раздела.
33 233 Сообщений в 5 454 Тем от 6 750 Пользователей
Последний пользователь: Alex1210
*
Перейти на сайт Хитрости Надстройка MulTEx Обучающие тренинги Наша группа ВКонтакте
Правила форума Начало Помощь Поиск Календарь Войти Регистрация Выйти
+  Excel это не сложно
|-+  Основные форумы
| |-+  Вопросы по PowerPoint и VBA
| | |-+  Редактирование диаграммы PowerPoint с помощью VBA
Страниц: [1]   Вниз
Печать
Автор Тема: Редактирование диаграммы PowerPoint с помощью VBA  (Прочитано 20683 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Igor
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 4


Просмотр профиля
« : 22.03.2014, 12:36:30 »

Здравствуйте!

Нужна помощь в решении следующей задачи в PowerPoint. Есть самая простая диаграмма (выглядит как на изображении №1 в приложении).
А получить нужно такую же диаграмму, но уже с добавленными окружностями вокруг подписей данных (выглядит как на изображении №3 в приложении). Окружности должны автоматически добавляться к подписям данных на основании таблицы данных Excel (как на изображении №2 в приложении). Т.е. если в Excel ячейка с числом окрашена в зеленый цвет, то и на диаграмме это число должно быть обведено в зеленый круг. Аналогично происходит и с ячейкой окрашенной в красный цвет.

Заранее спасибо за помощь!
Записан
Дмитрий Щербаков(The_Prist)
Администратор
Ветеран
*****

Репутация: +485/-0
Офлайн Офлайн

Сообщений: 5 828



Просмотр профиля WWW
« Ответ #1 : 22.03.2014, 16:47:11 »

Добрый день.
Скажу по секрету - никто не горит желанием делать из Ваших рисунков файлы, данные к ним и потом пытаться Вам помочь. приложите исходные файлы Excel и PP.
Записан

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Пункты приёма Спасибов:    -41001332272872  -R298726502453
Igor
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 4


Просмотр профиля
« Ответ #2 : 22.03.2014, 18:19:32 »

Не уверен, что мое предыдущее сообщение было опубликовано. Пишу еще раз.

В архиве в приложении находится слайд презентации PowerPoint. Это искомый вид диаграммы. Окружности вокруг подписей данных я сделал вручную. Красная окружность, если ячейка во значением имеет красный цвет, зеленая окружность - если зеленый.
Записан
Igor
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 4


Просмотр профиля
« Ответ #3 : 26.03.2014, 02:10:54 »

Ну, неужели ни у кого нет никаких соображений? Подскажите хотя бы, как обратиться к скрытой таблице Excel, которая связана с этой диаграммой и содержит ее данные...
Записан
Дмитрий Щербаков(The_Prist)
Администратор
Ветеран
*****

Репутация: +485/-0
Офлайн Офлайн

Сообщений: 5 828



Просмотр профиля WWW
« Ответ #4 : 26.03.2014, 16:26:59 »

Код: (vb)
Sub GetTable()
    Dim oCh As Chart
    Set oCh = ActivePresentation.Slides(1).Shapes(1).Chart
    
    With oCh.SeriesCollection(1).Points(1).DataLabel.Format.Line
        .ForeColor.RGB = RGB(255, 0, 0)
    End With
End Sub

Это, пожалуй, пока единственно, что могу подсказать. Т.к. у Вас вставка диаграммы изет через связь - сложно получить исходные данные.
И подписи в виде окружностей не сделать - нет такого. У меня по крайней мере.
« Последнее редактирование: 26.03.2014, 18:40:46 от The_Prist » Записан

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Пункты приёма Спасибов:    -41001332272872  -R298726502453
Igor
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 4


Просмотр профиля
« Ответ #5 : 30.03.2014, 11:54:52 »

Спасибо за ответ! Буду пробовать.
Сами окружности в таком виде, как мне хотелось бы, нарисовать не проблема с помощью такого кода:

Код: (vb)

Sub DrawCircles()

    ActiveSheet.ChartObjects("Inhaltsplatzhalter 4").Activate
    ActiveChart.FullSeriesCollection(1).DataLabels.Select
    ActiveChart.FullSeriesCollection(1).Points(1).DataLabel.Select
    Selection.Format.AutoShapeType = msoShapeOval
    Selection.Height = 31.1811023622047
    Selection.Width = 31.1811023622047
    With Selection.Format.Line
        .Visible = msoTrue
        .ForeColor.RGB = RGB(0, 176, 80)
        .Transparency = 0
        .Visible = msoTrue
        .Weight = 1.5
    End With
    End Sub

Записан
Дмитрий Щербаков(The_Prist)
Администратор
Ветеран
*****

Репутация: +485/-0
Офлайн Офлайн

Сообщений: 5 828



Просмотр профиля WWW
« Ответ #6 : 30.03.2014, 12:49:24 »

Это понятно. Нарисовать может и не проблема, а вот привязать их по координатам четко к линиям графика - не так просто.
Записан

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Пункты приёма Спасибов:    -41001332272872  -R298726502453
novodom
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 1

ЗАБАНЕН!
Просмотр профиля
« Ответ #7 : 22.12.2020, 17:38:02 »

Интересно, никогда бы не подумал, что такое возможно в принципе  Крутой
Записан
Страниц: [1]   Вверх
Печать
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2011, Simple Machines Valid XHTML 1.0! Valid CSS!
Яндекс.Метрика Рейтинг@Mail.ru