Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/27: Рейтинг темы: голосов - 27, средняя оценка - 4.93
1 / 1 / 1
Регистрация: 16.05.2011
Сообщений: 7

Есть ли хоть один толковый ресурс или книга, объясняющий, как создать любую диаграмму Excel

16.05.2011, 22:18. Показов 5480. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот к примеру такой код (см.ниже). Код не мой, строит линейную диаграмму на отдельном листе.

Свойство oChart.ChartType = xlXYScatterSmooth описывает как я понимаю, тип диаграммы.
Но найти какой-то перечень типов со способами из задания мне не удалось.

Существует ли где-то этот перечень? И где подробно прочитать об остальных свойствах, о том, каким образом задавать все характеристики диаграмм, в частности объёмной?

Кстати, код работает со строчкой
Set oChart = ActiveWorkbook.Charts.Add(, ActiveSheet)
Но не работает если график задать на том же листе:
Set oChart = ActiveSheet.ChartObjects.Add(900, 665, 301.5, 155.25)

Почему? И ГЛАВНОЕ - где обо всём этом я могу почитать и получить избыточную информацию?

Думаю, я не первый, кто разбирает этот вопрос, но видимо каждый пробивает путь к ответам в одиночку и остаётся почивать на своих открытиях. Может поделитесь?



Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Public Sub Chart5()
 
    SK = "Y = f(X)"
    OsbX = "b49:b54": PodpisbX = "X,%"
    OsbY = "c49:c54": PodpisbY = "Y, МВт"
    Application.DisplayAlerts = False ' Это свойство позволяет отключить показ различных предупреждений
   
    'Set oChart = ActiveSheet.ChartObjects.Add(900, 665, 301.5, 155.25).Select
    Set oChart = ActiveWorkbook.Charts.Add(, ActiveSheet) ' Создание диаграммы
    oChart.ChartType = xlXYScatterSmooth ' Тип диаграммы
    oChart.Name = SK ' Имя диаграммы
    oChart.SizeWithWindow = False 'Размер диаграммы будет подогнан таким образом, чтобы точно соответство-вать размеру листа
    oChart.Tab.ColorIndex = 35 ' Настройка внешнего вида вкладки диаграммы в книге
    oChart.HasLegend = False
    oChart.SetSourceData Source:=Sheets("Л5").Range(OsbX, OsbY), PlotBy:=xlColumns
    With Charts(SK)
      .HasTitle = True
      .ChartTitle.Text = SK
    End With
    With ActiveChart.Axes(xlValue) 'форматирование по оси Y
      .HasTitle = True
     With .AxisTitle
        .Caption = PodpisbY
        .Font.Name = "Arial Cyr"
        .Font.Size = 10
      End With
    End With
    With ActiveChart.Axes(xlCategory) 'форматирование по оси X
      .HasTitle = True
      With .AxisTitle
        .Caption = PodpisbX
        .Font.Name = "Arial Cyr"
        .Font.Size = 10
      End With
      .HasMajorGridlines = True
      .MajorGridlines.Border.Color = RGB(0, 0, 0)
      .MajorGridlines.Border.LineStyle = xlContinuous
    End With
    Application.Wait (Now + TimeValue("0:00:1")) ' позволяет приостановить выполнение операций на время
 
  'ActiveWorkbook.Charts("Диаграмма1").Tab.ColorIndex = 1
  'ActiveWorkbook.Charts("Диаграмма2").Tab.ColorIndex = 35
  Application.DisplayAlerts = True ' Это свойство позволяет отключить показ различных предупреждений
End Sub
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.05.2011, 22:18
Ответы с готовыми решениями:

Есть хоть один язык программирования, в котором переменную или функцию можно объявить после её использования?
Хочу в своём такое реализовать, но так значительно увеличится скорость компиляции. Не знаю, стоит ли оно того.

Есть ли какой ни будь ресурс/книга что бы выучить с# примерно за месяц
есть ли какой ни будь ресурс/книга что бы выучить с# примерно за месяц, для человека имеющего опыт работы с C++ и Java и хорошо знакомого с...

Как программно проверить, или есть хоть одна открытая форма?
Нужно написать функцию, которая будет проверять, есть ли открытые формы. Например: If нету_открытых_форм Then Exit sub

5
90 / 37 / 14
Регистрация: 03.11.2010
Сообщений: 429
17.05.2011, 08:42
Джон Уокенбах "Диаграммы в Excel".
например тут
а лучше скачайте с примерами
0
1 / 1 / 1
Регистрация: 16.05.2011
Сообщений: 7
18.05.2011, 00:25  [ТС]
Стоящая книга. Большое спасибо, Димит.
0
CatsTail
28.05.2011, 17:03
Включаешь запись макро, создаешь нужную диаграмму и смотришь, что получится в сгенерированном модуле
1 / 1 / 1
Регистрация: 16.05.2011
Сообщений: 7
29.05.2011, 04:55  [ТС]
Цитата Сообщение от CatsTail Посмотреть сообщение
Включаешь запись макро, создаешь нужную диаграмму и смотришь, что получится в сгенерированном модуле
Даже выполнить записанный макрос для создания второй диаграммы (если созданную при записи диаграмму удалить) - не выйдет. А уж задать например размеры и положение на листе - вообще проблема. При записи макроса используется метод Charts.Add, и его крайне неудобно использовать в программировании, напр. для изменения параметров диаграммы.

Если сможешь хотя бы переместить созданную тобой в макросе диаграмму в нужный тебе угол листа (в место листа с программно заданными координатами), я буду поражен твоей гениальностью, CatsTail.
(Кстати, речь идёт о диаграмме типа Поверхность.)
0
CatsTail
29.05.2011, 10:44
Кончено, у макрорекордера есть шероховатости. Но суть он фиксирует верно и время экономит. А то, что он делает неправильно, можно "подрихтовать". Вот пример построения очень простой диаграммы. Там руками поправлено две строчки кода. Выполни макрос, потом удали диаграмму и данные и выполни еще раз... У меня (Office-2000) все работает.

Но на самом деле, я думаю, что строить диаграммы "с нуля" очень нерационально. Лучше поступить по-другому: создать нужные листы, ВРУЧНУЮ создать на них диаграммы, а в программном коде просто менять данные. Это оказывается в десятки раз проще по временным затратам и по написанному программному коду. (Добрый совет)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.05.2011, 10:44
Помогаю со студенческими работами здесь

Есть ли в строке хоть один символ?
Всем привет! Вопрос следующий Допустим, имеется строка CString str = " "; В ней содержатся несколько пробелов и табуляций ...

Как мне создать такой график(диаграмму) в Excel 2007
Помогите,пожалуйста.Как можно мне создать такой график(диаграмму) в Excel 2007.Перерыла все типы,не нашла такого.

Преобразовать массив, если в нем есть хоть один отрицательный элемент
Прошу помочь с решением. Даны целые массивы А, B и значения P и Q. Каждый массив пpеобpазовать по пpавилу: если в массиве есть хотя...

Вычислить количество строк матрицы, в которых есть хоть один отрицательный элемент
Дана матрица размерности N на M. Вычислить количество строк матрицы, в которых есть хоть один отрицательный элемент.

Как создать телефонную книгу (вытащить данные из нескольких листов на один), телефонная книга
В файле есть 50 листов с именами, фамилиями сотрудников и другой инфой. Нужно: 1 - создать телефонную книгу, на один лист...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru