Нужно построить окружности, центр которых совпадает с точками на графике и каждая последующая окружность изменяет свой диаметр на 1. Возможно ли задать или построить такие окружности с помощью vba?
Да можно и без VBA Задайте параметры маркера точки: нет заливки, тип: окружности, размер: до 72 (в файле - максимальный), цвет линии маркера, тип линии маркера. Можно задать индивидуально для каждой точки.
linda_m, окружность задается параметрическим уравнением: X=a+R*Cos(A) Y=b+R*Sin(A) здесь: a и b - координаты центра; R- радиус; (А) - 0<=A<=2*Pi Напишите функцию, вычисляющую X и Y и стройте график. Что б на графике была окружность, а не овал - размерность по осям должна быть в одном масштабе.
linda_m пишет: а как увеличить диаметр каждой последующей окружности на 1?
Можете дописать к процедуре построения графика или запускать отдельно:
Код
Sub Макрос1()
Dim i&, j&
With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1)
.MarkerBackgroundColorIndex = xlNone
.MarkerStyle = xlCircle
j = 20 'размер первой окружности
For i = 1 To .Points.Count
.Points(i).MarkerSize = j
j = j + 1
Next
End With
End Sub
Макрос проходит по всем точам ряда (For i = 1 To .Points.Count). Попробуйте пройти программу по шагам (F8), одновременно глядя на график.
Цитата
linda_m пишет: пробовала увеличить промежуток х [-10;10]
А шаг изменили или он тем же остался? Макрос в таком виде может работать с рядом, в котором не более 53 точек. Для 54-й точки размер получается 73 и возникает ошибка (см. пост #2).