Программный код VBA создает диаграмму из точек, и строит графики-отрезки, задавая программно массив (array) значений (с Range не получится, ибо она рваная, а собирать воедино довольно долго).
Диаграмму делает следующий код (упрощен):
- Код: Выделить всё
Sub tembsub()
Dim arXs() As Integer
Dim arYs() As Single
Set wsd = Application.ThisWorkbook.Worksheets(1)
' ochischaem oblast' diagrammy
wsd.ChartObjects.Delete
wsd.Select
wsd.Range("A1:IV32000").Select
Selection.Delete Shift:=xlToLeft
For i = 0 To 100
ReDim Preserve arXs(i)
ReDim Preserve arYs(i)
arXs(i) = i
arYs(i) = i + i + 3
Next i
' sozdaem diagrammu
wsd.ChartObjects.Add 100, 30, 400, 250
Set oc = wsd.ChartObjects(1).Chart
oc.ChartType = xlXYScatterSmoothNoMarkers
oc.SeriesCollection.NewSeries
oc.SeriesCollection(1).XValues = arXs
oc.SeriesCollection(1).Values = arYs
oc.SeriesCollection(1).Name = "=""Chast' """
End Sub
Когда размерность массива arXs() находится где-то в пределах пары десятков - все нормально, диаграмма рисуется.
Когда эта размерность приближается к 100 (а у меня хорошо за 600!) - выдается ошибка:
Run-time error '1004': Нельзя установить свойство XValues класса Series
Какая же эта размерность на самом деле (есть ли информация) и как это обойти - чтобы загнать в качестве источника данных массив на пол-тысячи позиций?