Excel 如何根据以下内容动态更新散点图的数据系列?

Excel 如何根据以下内容动态更新散点图的数据系列?,excel,vba,formula,Excel,Vba,Formula,我有下面的数据,这是原始数据,我需要的数据系列绘制的日期。 x轴是位置(kms),y_轴是类别之一(如Super Elev) 我可以通过偏移量动态绘制新的数据点,但我需要它能够根据数据自动将它们分类到新的数据系列中 有人能帮忙吗 电子表格,新的数据是粘贴在下面不断,我需要的数据系列自动排序的日期为图表 绘制数据图,但不根据记录的日期分类为不同的数据系列 根据数据创建轴心图。如果首先从数据创建Excel表,则只需添加新数据,然后更新数据透视表即可 透视图不能是XY图表,但这并不意味着不能将XY

我有下面的数据,这是原始数据,我需要的数据系列绘制的日期。 x轴是位置(kms),y_轴是类别之一(如Super Elev)

我可以通过偏移量动态绘制新的数据点,但我需要它能够根据数据自动将它们分类到新的数据系列中

有人能帮忙吗

电子表格,新的数据是粘贴在下面不断,我需要的数据系列自动排序的日期为图表

绘制数据图,但不根据记录的日期分类为不同的数据系列

根据数据创建轴心图。如果首先从数据创建Excel表,则只需添加新数据,然后更新数据透视表即可

透视图不能是XY图表,但这并不意味着不能将XY图表与透视表中的数据一起使用。您可以构建透视表,然后使用随透视表增长和收缩的公式定义动态范围。然后可以在常规XY图表的系列定义中使用这些范围名称


从数据透视表数据创建规则图表是一个已经在web上的许多文章中讨论和介绍过的主题。请尝试Jon Peltier的这篇文章作为起点

我想代码应该是这样的

Sub setScatterChart()
    Dim Ws As Worksheet
    Dim Cht As Chart
    Dim vX1(), vX2(), vY1(), vY2(), vDate()
    Dim vDB, n As Long, k As Long, i As Integer, j As Integer
    Dim cnt As Integer
    Dim myDate1 As Date, myDate2 As Date
    Dim X As New Collection


    Set Ws = ActiveSheet
    Set Cht = Ws.ChartObjects(1).Chart
    vDB = Ws.UsedRange
    On Error Resume Next
    For i = 2 To UBound(vDB, 1)
        Err.Clear
        X.Add vDB(i, 2), CStr(vDB(i, 2))
        If Err.Number = 0 Then
            cnt = cnt + 1
            ReDim Preserve vDate(1 To cnt)
            vDate(cnt) = vDB(i, 2)
        End If
    Next i
    With Cht
        .ChartType = xlXYScatterLinesNoMarkers
        For i = .SeriesCollection.Count To 1 Step -1
            .SeriesCollection(i).Delete
        Next i

        For j = 1 To cnt
            n = 0
            For i = 2 To UBound(vDB, 1)
                If vDB(i, 2) = vDate(j) Then
                    n = n + 1
                    ReDim Preserve vX1(1 To n)
                    ReDim Preserve vY1(1 To n)
                    vX1(n) = vDB(i, 11)
                    vY1(n) = vDB(i, 4)
                End If
            Next i
            .SeriesCollection.NewSeries
            With .SeriesCollection(j)
                    .Name = Format(vDate(j), "dd/mm/yyyy")
                    .XValues = vX1
                    .Values = vY1
            End With
        Next j
    End With


End Sub

这里有两张图片,顺便说一句,对不起,新用户的网站,一张图片是电子表格,第二张是图表。谢谢。下面建议使用透视图-透视图不起作用,因为它将位置KM分类为文本,这就是透视图的工作方式。这不符合我的目的,因为我需要图形仅显示227.4KM到227.9KM的范围。对于透视图,您无法执行此操作,因为它将每个位置公里作为标签/类别读取。透视图无法工作,因为它将位置公里分类为文本,因为透视依赖于“标签”。这意味着,我无法将图形定义为仅显示227.4KM到227.9KM的特定范围。如果透视图可以为x轴使用数字数据就好了!!!我已经添加了一些关于从透视表创建常规图表的信息。我还没有尝试过这个。但是,你能解释一下它到底在做什么吗?它似乎不是动态的?也就是说,如果有人复制粘贴新数据到现有数据下面,它如何自动定义新的序列?如果所有数据都从a2单元格开始,则A1单元格是字段名称。其中,以天为单位的特定两天是以图形表示的。X是位置,Y是超级元素。@stupidfish:我误解了你的意图。我修改了代码。