powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Построение графиков Excel VBA
2 сообщений из 2, страница 1 из 1
Построение графиков Excel VBA
    #35901726
YUBA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Строим график в VBA Excel
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
 ActiveSheet.Shapes.AddChart.Select
    ActiveChart.ChartType = xlLine
    ActiveChart.SetSourceData Source:=Sheets("Лист1"). Range("B2:B25")
    ActiveChart.SeriesCollection( 1 ).Name = "=""In"""
    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.SeriesCollection( 2 ).Name = "=""Out"""
    ActiveChart.SeriesCollection( 2 ).Values = "=Лист1!$C$2:$C$25"
    ActiveChart.SeriesCollection( 2 ).XValues = "=Лист1!$A$2:$A$25"
    ActiveChart.SeriesCollection( 2 ).Select
....... 
Далее задаем свойства и т.д. М.б. есть недостатки, но все функционирует.
Беда в том, что Range заданы в программе не как Range("B2:B25") , а Range.Cells(2,2) до Cells(N,2) и начальная ячейка, последняя сама находится. Да и вообще графики надо менять программной заменой диапазонов, м.б. и с разных листов. Пытался Offsetом - не получилось.
Часть данных лучше бы на лист вообще не класть, а выводить из массива или рекордсета.
В общем 2 вопроса.
1. Как программно задать диапазон, кот и вычисляется программой?
2. Можно ли строить графики не записывая данные на лист, и как?
...
Рейтинг: 0 / 0
Построение графиков Excel VBA
    #35923808
Ssedrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
YUBA,

По вопросу 1. Как программно задать диапазон, кот и вычисляется программой?
У меня работает вот так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Sub Макрос2()
For i =  1  To Last_stroka
Workbooks("файл.xls").Worksheets("имя_листа").Activate
    Range(Cells(i,  10 ), Cells(i,  61 )).Select
    'График уже нарисован, я его перерисовываю т.к. мне нужны уравнения функций
    Charts("Диаграмма1").Activate
    ' Массив исходных данных
    With Worksheets("имя_листа")
    ActiveChart.SetSourceData Source:=Worksheets("имя_листа").Range(.Cells(i,  10 ), .Cells(i,  61 )),   PlotBy _
        :=xlRows
    End With
    
    uravnenie = ActiveChart.SeriesCollection( 1 ).Trendlines( 1 ).DataLabel.Text
    Workbooks("файл.xls").Worksheets("имя_листа").Cells(i,  114 ).Value = uravnenie
    Next i
End Sub
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Построение графиков Excel VBA
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]