Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.74/92: Рейтинг темы: голосов - 92, средняя оценка - 4.74
0 / 0 / 0
Регистрация: 20.09.2009
Сообщений: 187
1

Создать диаграмму в Excel

25.01.2010, 12:50. Просмотров 17005. Ответов 6
Метки нет (Все метки)


Помогите, может есть у кого-то пример... Надо сделать печать документа и при этом на втором листе Excel выводить диаграмму.
Просто даже не представляю как эту диаграмму делать
поиском по сайту нашел темы, но не понял все же как делать диаграммы с данными из документа Лотус
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.01.2010, 12:50
Ответы с готовыми решениями:

Создать Excel док без шаблона
Искал поиском, конкретного не нашел Подскажиет, плз, Как создать просто Excel-документ и сохранить...

Создать диаграмму из созданной таблицы StringGrid и поместить в Excel
Здравствуйте) я создала таблицу и заполнила её в Делфи Скажите пожалуйста, как мне теперь сделать...

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

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

6
0 / 0 / 0
Регистрация: 28.06.2009
Сообщений: 1,567
25.01.2010, 12:56 2
данные надо передать в эксель и там уже делать диаграмму средствами экселя...
0
1 / 1 / 0
Регистрация: 04.08.2006
Сообщений: 2,950
25.01.2010, 12:59 3
Очень просто,

1. открыть справку по VBА для Экселя
2. просто записать макрос , выполнить все нужные действия и просмотреть текст макроса всё в томже VBА

начинать с ActiveSheet.Shapes.AddChart
0
yky
25.01.2010, 16:50 4
Вот делал совсем недавно. Может быть будет полезно.

В клиенте 7.0.2 столкнулся с проблеммой что Лотус н епонимает Exelевские константы.
Заменял их на значения типо этого chart.ChartType = 57 xlBarClustered

А вообще делал так как осветует морфеус.
Значения констант моно через ВБ дебагер смотреть.

[codebox]Print "Инициализация приложения"

Dim xlApp As Variant
Dim xlWB As Variant
Dim xlSheet As Variant

Set xlApp = CreateObject("Excel.Application")
Call xlApp.Workbooks.Add
xlApp.Visible = False
Set xlWB = xlApp.Workbooks(1)

удаление лишних листов
Set xlSheet = xlWB.Worksheets(3)
Call xlSheet.delete
Set xlSheet = xlWB.Worksheets(2)
Call xlSheet.delete

Set xlSheet = xlWB.Worksheets(1)
xlSheet.Name ="Отчет"

xlsheet.Columns("A:A").ColumnWidth = 3
xlsheet.Columns("B:B").ColumnWidth = 13

Redym Preserve divarray(0)

создание строчки с заголовками поздразделений и суммы по каждому из них
поздразделения беруться из списка вида "Час!Подразделение=кол-во посещений"
Call KipStatistic_VisitorsFillTable (x_start,y_start,docList,diagrtype,xlSheet, divarray)

задаем размер таблицы в зависимости от типа диаграммы
Dim x_tab As Integer
Dim y_tab As Integer
Select Case diagrtype
Case 3
x_tab=x_start+Ubound(divarray)+3
y_tab=y_start+27
Case 2
x_tab=x_start+Ubound(divarray)+3
y_tab=y_start+2
Case 1
x_tab=x_start+2
y_tab=y_start+27
Case 0
x_tab=x_start+2
y_tab=y_start+2
End Select

заполнение первой колонки (времени) и создание построчной суммы
Call KipStatistic_VisitorsCreateSum (x_start,y_start,x_tab,y_tab,diagrtype,xlSheet)

выделение жирным заголовков
xlSheet.Range("A2:A27").font.Bold = True
xlSheet.Range( xlSheet.Cells(y_start+1,x_start+1),xlSheet.Cells(y_start+y_t ab,x_start) ).font.Bold = True
xlSheet.Range( xlSheet.Cells(y_start+1,x_start+1),xlSheet.Cells(y_start+1,x _tab) ).font.Bold = True

рисуем таблицу
Call KipStatistic_VisitorsDrawMargins (x_start,y_start,x_tab ,y_tab ,xlSheet ,xlApp)

построение диаграммы
Print "Построение диаграммы"
Dim chart As Variant
If y_tab > 3 Then y_tab=y_tab-2

Call xlSheet.Range( xlSheet.Cells(y_start+1,x_start+1),xlSheet.Cells(y_tab,x_tab ) ).Select

Set chart = xlWB.Charts.Add
chart.name="Диаграмма"
тип диаграммы - линейчатая
chart.ChartType = 57 xlBarClustered
ряды по столбцам
Chart.PlotBy = 2 xlColumns

удаление пустого ряда
If diagrtype > 1 Then chart.SeriesCollection(Ubound(divarray)+1).Delete

создание заголовка диаграммы ( в каментах указаны значения соответствующий кодам в скобках)
chart.HasTitle = True
Dim titlestr As String
titlestr="Количество посещений портала с " & dt1 & " по " & dt2
Select Case diagrtype
Case 3
titlestr=titlestr & " с разбивкой по предприятиям и часам"
Case 2
titlestr=titlestr & " с разбивкой по предприятиям"
Case 1
titlestr=titlestr & " с разбивкой по часам"
End Select
chart.ChartTitle.Characters.Text = titlestr
chart.HasLegend = True
Chart.Legend.Position = -4160 xlLegendPositionTop
If diagrtype=2 Then chart.HasAxis(1, 1) = False
chart.HasAxis(2, 1) = True (xlValue, xlPrimary)
chart.Axes(2, 1).HasTitle = True (xlValue, xlPrimary)
chart.Axes(2, 1).AxisTitle.Characters.Text = "Кол-во человек" (xlValue, xlPrimary)
chart.ProtectSelection = True
Call xlSheet.Protect(,True,True)
Call xlWB.Sheets("Отчет").Select
Call xlSheet.Range( xlSheet.Cells(1,1),xlSheet.Cells(1,1) ).Select


Print ""
xlApp.Visible = True
Goto endH
errHandler:
Error Err, "(" & LibName & ") " & FuncName & ", стр." & Erl & Chr (10) & Error$
endH:[/codebox]
0 / 0 / 0
Регистрация: 20.09.2009
Сообщений: 187
25.01.2010, 17:09 5
iki
Спасибо Вам большое!
но вот не могу понять, что означает
Call KipStatistic_VisitorsFillTable (x_start,y_start,docList,diagrtype,xlSheet, divarray)
KipStatistic_VisitorsFillTable - это что?
может вечер уже сказывается
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
25.01.2010, 17:56 6
здесь выкладывали код для диаграмм (винсент)

и я упоминал тулзы...
использовать jasperreport
получаем XML/CSV/БД, визуально прогаем репорт
в состав нотусей включаем jar от репортинга
натравливаем код из "двух" операторов на XML - получем диаграмму - хоть в ПДФ, хоть в хехэль...
http://jasperforge.org/plugins/project/pro...ectname=ireport
забыть МСО - как страшный сон
0
yky
26.01.2010, 08:36 7
но вот не могу понять, что означает
Call KipStatistic_VisitorsFillTable (x_start,y_start,docList,diagrtype,xlSheet, divarray)
KipStatistic_VisitorsFillTable - это что?
Это моя самописная функция, которая заполняет нарисованную таблицу. Там еще KipStatistic_VisitorsDrawMargins.
Просто не стал удалять их и кинул как есть.
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.01.2010, 08:36

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Можно ли построить диаграмму в Excel
Всем привет! Допустим, существует одномерный массив A. Можно ли, создать, используя средства...

Перенести диаграмму из Excel в PowerPoint
Private Sub export_to_pp() Set pr = CreateObject("PowerPoint.Application") Set mpr =...

Передвинуть диаграмму в Excel средствами OLE
При попытке задать свойство "Top" для диаграммы вылетает ошибка "Член группы не найден". Variant ...

Как построить фазовую диаграмму в Excel
Скажите пожалуйста как построить фазовую диаграмму в excel?


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.