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

Ограничено количество выводимых точек в диаграмме EXCELя

27.08.2010, 09:29. Показов 2257. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В екселе простроил диаграмму, мне нужно отобразить в ней из буфера 200 значений, но отобразить можно только 30, формат значений хх.ххх, в другом формате получается другое количество, если задать строку длинее то EXCEL ругается так:'нельзя установить свойство Values класса Series'. Похоже где то ограничение. Ниже приведён кусочек кода

Public buf_s As String
Public buf(0 To 200) As Single

buf_s = Str(buf(1))
For x = 2 To 200
buf_s = buf_s & ';' & Str(buf(x))
Next

Workbooks(1).Worksheets('graf').Activate
ActiveSheet.ChartObjects(1).Activate
ActiveChart.SeriesCollection(1).Values = '={' & buf_s & '}'

Может кто знает, как решить проблему? где снимается ограничение?
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.08.2010, 09:29
Ответы с готовыми решениями:

Индивидуальные названия точек на точечной диаграмме
Привет всем! Есть набор данных, три строки - название, ось Х и ось Y. Как добавить данные на диаграмму так, чтобы каждой точке...

Ограничено количество ОЗУ
Здравствуйте, недавно приобрел вторую плашку ОЗУ Kingston KVR1333D3N9/2G, до этого стояла такая же (теперь две одинаковые), из 4 ГБ...

Ограничено количество ввода паролей
Как ограничить число воода неправильных логина и паролей и вывадить капчу

3
 Аватар для SlavaRus
1124 / 237 / 37
Регистрация: 15.03.2010
Сообщений: 728
30.08.2010, 09:26
В принципе к строке можно не преобразовывать, прмведенный ниже код работает при 30, при 31 генерит ошибку.

Public Sub NewChart()

Const N = 40
Dim arrValues()
Dim arrXValues()
ReDim arrXValues(N)
ReDim arrValues(N)

For i = LBound(arrValues) To UBound(arrValues)
arrXValues(i) = i
arrValues(i) = ((N - 1.9 * N) + i) * i * 0.33
Next
With Charts.Add
With .SeriesCollection.NewSeries
.Values = arrValues
.XValues = arrXValues
.ChartType = xlLine

End With
End With
End Sub

Видимо это связано с описанием данных внутри контрола Chart. Но ведь вся изюминка диаграмм именно в том, что они связаны с данными на листах. Выходов наверное два:
1-записать буфер на лист и с листа связать данные с диаграммой
2-использовать другой контрол, например mschart из VB или ChartSpace
Удачи
0
 Аватар для SlavaRus
1124 / 237 / 37
Регистрация: 15.03.2010
Сообщений: 728
30.08.2010, 17:20
Взял пример из Help по ChartSpaсe, чуть-чуть подправил и вот что получилось:

N=20
Public Sub ChartSpaсeAdd()

Dim MyChart As OLEObject
Dim asCategories(N)
Dim aiValues(N)

'Worksheets(1).OLEObjects(1).Delete
For i = LBound(asCategories) To UBound(asCategories)
asCategories(i) = i
aiValues(i) = ((N - 1.9 * N) + i) * i * 0.33
Next

Set MyChart = Application.Worksheets(1).OLEObjects.Add (ClassType:='OWC10.ChartSpace.10', Left:=0, Top:=0, Width:=570, Height:=340)
With MyChart.Object
Set chConstants = .Constants
With .Charts.Add
.Type = chConstants.chChartTypeLine
.SetData chConstants.chDimCategories, chConstants.chDataLiteral, asCategories
.SeriesCollection(0).SetData chConstants.chDimValues, chConstants.chDataLiteral, aiValues
End With
End With
MyChart.Activate
End Sub

При 20000 попробовал-строит , на моей машине секунд 30
0
project
31.08.2010, 06:57
SlavaRus, спасибо за помощь! Пока буду писать в листы. Это будет микро-SCADA, там присутствует не большая динамика. Если нарою более динамичный способ, опубликую. Может кому сгодится.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.08.2010, 06:57
Помогаю со студенческими работами здесь

Изменение положения подписей шкалы точек в обычной диаграмме
Здравствуйте! Есть следующая задача: отобразить две диаграммы - одна с положительными, другая с отрицательными значениями. При выводе...

Количество IP-адресов от провайдера ограничено. Как его увеличить?
Имеется Windows Server 2003 и локальная сеть через сервер на 70 компьютеров в школе. Все ip-адреса от провайдера раздаются автоматически...

Просуммировать количество точек в наборе домино, где количество точек на каждом конце может быть от 1 до n
Посмотрев на ряд костяшек, расположенный в лексикографическом порядке, видна формула этой суммы: 2*n*сумма(от 1 до n): 1 1 1 2 2 2 3 3 3 ...

Задать n точек. Найти m=3,4... точек и построить на них m-угольник такой что, количество точек , лежащих внутри и вне m-угольника , минимально различа
Задать n точек. Найти m=3,4... точек и построить на них m-угольник такой что, количество точек , лежащих внутри и вне m-угольника ,...

Количество выводимых элементов
На странице сайта блок "спецпредложения" в строке выводится 4 элемента в параметрах компонента в количестве выводимых элементов поставил...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru