powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / "Виртуальный" Range
5 сообщений из 5, страница 1 из 1
"Виртуальный" Range
    #35915474
YUBA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Строю много программно изменяемых графиков.
Примерно так
Код: plaintext
1.
2.
3.
4.
5.
Set Xt = Range(BRange.Cells(Ct_min,  1 ), BRange.Cells(Ct_max,  1 ))
    Set Yt = Range(BRange.Cells(Ct_min,  2 ), BRange.Cells(Ct_max,  2 ))
    Sheets("Лист3").ChartObjects("Graph1").Activate
    ActiveChart.SeriesCollection( 1 ).Values = Yt
    ActiveChart.SeriesCollection( 1 ).XValues = Xt
Ясно, все данные на листах. И главное, никому они не нужны - на них смотреть. Для этого есть графики.
Нельзя-ли сделать некие виртуальные Rangы не выводящиеся на листы и рисовать с них графики. Где-то раньше читал, что вроде такое возможно. Сейчас найти ничего не получается.
Изначально данные в Recordsete.
...
Рейтинг: 0 / 0
"Виртуальный" Range
    #35915572
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, графики напрямую с БД строить нельзя.
Зато листы на которые выкачиваются данные можно спрятать.
...
Рейтинг: 0 / 0
"Виртуальный" Range
    #35915598
YUBA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlНет, графики напрямую с БД строить нельзя.
Эт понятно. Recordset на лист ну и далее. Так и делаю.
White OwlЗато листы на которые выкачиваются данные можно спрятать. Об этом не подумал. Но копирование на лист - с листа кучу времени занимает. особенно, если данные постоянно обновляются. М.б. со скрытыми это не так.
Часть обработок рекордсетов заменил на обработку без вывода на лист - в структуру() его. Программа летать стала.
Д.быть способ графикам данные показать. Видел его, но в суть не вникал.
...
Рейтинг: 0 / 0
"Виртуальный" Range
    #35915709
YUBA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так вот. графики прекрасно жрут массивы по оси Y
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Dim a( 5 ) As Integer
Dim b( 5 ) As Integer
Sub Garray()
Dim i As Integer
For i =  0  To  5 
a(i) = i *  5 
b(i) = i *  2 
Next
End Sub
Sub ChangeRange()
    Sheets("Ëèñò4").ChartObjects("GP").Activate
    ActiveChart.SeriesCollection( 1 ).Values = a
    ActiveChart.SeriesCollection( 1 ).XValues = b
Debug.Print a( 5 ), b( 5 )
End Sub
Плдписи по Х пока не идут.
...
Рейтинг: 0 / 0
"Виртуальный" Range
    #35915772
YUBA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По Х не кушал массив т.к. сбились какие-то настройки оси. Не нашел, перестроил график по новой и все понеслось.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Dim a( 5 ) As Double
Dim b( 5 ) As String
Sub Garray()
Dim i As Integer
For i =  0  To  5 
a(i) = i * i *  1 . 5 
b(i) = i *  2 
Next
End Sub
Sub ChangeRange()
    Sheets("Ëèñò4").ChartObjects("GP").Activate
    ActiveChart.SeriesCollection( 1 ).Values = a
    ActiveChart.SeriesCollection( 1 ).XValues = b
Debug.Print a( 5 ), b( 5 )
End Sub
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / "Виртуальный" Range
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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