#vba #line #series #excel-charts
#vba #строка #Серии #excel-диаграммы
Вопрос:
я не знаю, возможно ли создать строку диаграммы только со значениями по оси y, значения по оси y содержат ячейки A1 B1 C1 D1. и создайте цикл для создания рядов до последней строки.
Я имею в виду, если это возможно, я могу сделать это бесконечно раз в соответствии с плотностью данных (последняя строка), чтобы создавать строки для каждой строки в моих данных. мне нужно сделать это, пожалуйста!!! требуется много работы, чтобы вставить каждый для каждого, у меня 3650 строк: (
У меня есть макрос для диаграммы с осями x и y, но, на самом деле, я не знаю, как это сделать, когда по оси x нет данных, а по оси y 2 или более ячеек.
Sub RefreshRange_series()
Dim LastRow As Long
Dim Rng1 As Range
Dim n As Long
Dim c As Range
With Sheets("DATA GRAPH")
LastRow = .Range("B" amp; .Rows.Count).End(xlUp).Row
Set Rng1 = .Range("AD3:AD" amp; LastRow amp; ", AG3:AG" amp; LastRow)
End With
For Each c In Rng1.Cells
'is the row visible? skip if not
If Not c.EntireRow.Hidden Then
n = n 1
With ActiveChart
.SetSourceData Source:=Rng1
End With
End If
Next c
End Sub
Комментарии:
1. Я думаю, вы можете создать точечную диаграмму. Вам нужна точечная диаграмма?
Ответ №1:
Попробуйте,
Sub RefreshRange_series()
Dim LastRow As Long
Dim rngDB As Range, rng As Range
Dim n As Long
Dim c As Range
Dim objChart As ChartObject
Dim Cht As Chart
Dim Ws As Worksheet
Dim Srs As Series
Set Ws = Sheets("DATA GRAPH")
With Ws
LastRow = .Range("B" amp; .Rows.Count).End(xlUp).Row
'Set Rng1 = .Range("AD3:AD" amp; LastRow amp; ", AG3:AG" amp; LastRow)
Set rngDB = .Range("AD3:AD" amp; LastRow)
Set objChart = .ChartObjects(1)
Set Cht = objChart.Chart
With Cht
.ChartType = xlXYScatter '<~~ has Makers
'.ChartType = xlXYScatterLinesNoMarkers '<~~ Line
'Delete all previous series.
For Each Srs In .SeriesCollection
Srs.Delete
Next Srs
For Each rng In rngDB
Set Srs = .SeriesCollection.NewSeries 'add new series
With Srs
.XValues = Array(1, 2, 3, 4) ' x values
.Values = rng.Resize(1, 4) 'y values
' .MarkerStyle = xlMarkerStyleCircle '<~~set marker style and size, color
' .MarkerSize = 10
' .MarkerBackgroundColor = vbBlue
' .MarkerForegroundColor = vbRed
End With
Next rng
End With
End With
End Sub