Создание строки диаграммы с данными только по оси y

#vba #line #series #excel-charts

#vba #строка #Серии #excel-диаграммы

Вопрос:

я не знаю, возможно ли создать строку диаграммы только со значениями по оси y, значения по оси y содержат ячейки A1 B1 C1 D1. и создайте цикл для создания рядов до последней строки.

мне нужно создать эту диаграмму на изображении, когда я создаю строку, вставляя значения только в рядах y, и по умолчанию метки горизонтальной оси помещают числа от 1 до 4

Я имею в виду, если это возможно, я могу сделать это бесконечно раз в соответствии с плотностью данных (последняя строка), чтобы создавать строки для каждой строки в моих данных. мне нужно сделать это, пожалуйста!!! требуется много работы, чтобы вставить каждый для каждого, у меня 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