Сейчас у меня есть следующий код для отображения кривой линии. Количество входных данных может варьироваться, и я хочу, чтобы диаграмма очищалась и рисовала новую линейную кривую каждый раз при запуске макроса.
Sub addchart()
If ActiveSheet.ChartObjects.Count > 0 Then
ActiveSheet.ChartObjects.Delete
End If
Dim ws As Worksheet
Dim ch As chart
Dim ch1 As chart
Dim dt As Range
Dim i As Integer
i = Cells(Rows.Count, "I").End(xlUp).Row
Set ws = ActiveSheet
Set dt = Range(Cells(2, 10), Cells(i, 10))
Set ch = ws.Shapes.AddChart2(Width:=1300, Height:=300, Left:=Range("a13").Left, Top:=Range("a13").Top).chart
With ch
.SetSourceData Source:=dt
.ChartTitle.Text = "Deflection Curve"
.ChartType = xlLine
.SeriesCollection(1).Name = "Deflection"
End With
If Application.WorksheetFunction.Min(dt) > -50 Then
With ch.Axes(xlValue)
.MinimumScale = -50
.MaximumScale = 0
End With
End If
End Sub
Распечатанная диаграмма выглядит примерно так
Я пытаюсь понять, как добавлять метки к произвольным точкам на диаграмме. Две метки, если быть точным. Один имеет минимальное значение. И один - это значение в любой произвольной точке на оси x. Оба значения x известны и будут взяты в качестве входных данных из двух ячеек на листе. Что-то вроде этого.
Стиль выделения не имеет значения. Спасибо за помощь!
P.S. - Я новичок в VBA и всему учусь на ходу. Я смотрю, что мне нужно сделать, а затем пытаюсь подражать тем примерам, которые вижу в Интернете. Так что возможно, существующая программа, которую я написал для диаграммы, может иметь ненужные шаги или в некотором роде неэффективна. Я был бы признателен, если бы у кого-то были какие-либо советы, чтобы предложить, чтобы улучшить его, даже если он делает свою работу. Спасибо!
Спасибо за ответ, но мне было трудно его понять, так как я новичок в VBA. Но я нашел другое более простое решение, которое я опубликую