Excel 向散点图添加额外序列

Excel 向散点图添加额外序列,excel,vba,series,excel-charts,Excel,Vba,Series,Excel Charts,我试图创建一个代码,将序列添加到散点图中。代码运行,但添加了大约100个未指定的额外数据系列。我的vba技能是基本的 Dim DownSweep As Chart Dim xrng As Range Dim yrng As Range Dim title As Range Dim dsvt As Worksheet Dim dst As Worksheet Dim i As Integer t = 1 CLEAN: If t < ActiveWorkbook.Charts.Co

我试图创建一个代码,将序列添加到散点图中。代码运行,但添加了大约100个未指定的额外数据系列。我的vba技能是基本的

Dim DownSweep As Chart
Dim xrng As Range
Dim yrng As Range
Dim title As Range
Dim dsvt As Worksheet
Dim dst As Worksheet
Dim i As Integer

t = 1

CLEAN:
    If t < ActiveWorkbook.Charts.Count + 1 Then
    If ActiveWorkbook.Charts(t).Name = "DownSweep Graph" Then
    Application.DisplayAlerts = False
    ActiveWorkbook.Charts("DownSweep Graph").Delete
    Application.DisplayAlerts = True
    t = t + 1
    GoTo CLEAN
    End If
    End If

    Set dst = Worksheets("Template 2 - Down Sweep")
    Set dsvt = Worksheets("DownSweep ViscosityTemperature")

Set xrng = dsvt.Range(dsvt.Range("C2"), dsvt.Range("C2").End(xlDown))
Set yrng = dsvt.Range(dsvt.Range("F2"), dsvt.Range("F2").End(xlDown))
Set title = dsvt.Range("F1")

dsvt.Range("E1").Select

    Set DownSweep = Charts.Add
    DownSweep.Name = "DownSweep Graph"

    With DownSweep
            .ChartType = xlXYScatter
            .SeriesCollection.NewSeries
            .SeriesCollection(1).XValues = xrng
            .SeriesCollection(1).Values = yrng
            .SeriesCollection(1).Name = title
    End With

title = title.Offset(0, 1)

For i = 2 To 99
        With DownSweep.SeriesCollection.NewSeries()
            .XValues = xrng.Offset(0, i - 1).Value
            .Values = yrng.Value
            .Name = title
        End With
        title = title.Offset(0, i)
    Next i

End Sub

Dim DownSweep作为图表
Dim xrng As范围
Dim yrng As系列
将标题设置为范围
将dsvt设置为工作表
将dst设置为工作表
作为整数的Dim i
t=1
清洁:
如果t
如何防止这种情况发生


任何帮助都将不胜感激。

这是因为在添加图表之前,您正在源数据中选择一个单元格。因此,它会自动将该数据设置为源,并创建系列集合

With DownSweep
    Do While .SeriesCollection.Count > 0
        .SeriesCollection(1).Delete
    Loop
End With
因此,在添加新的系列集合之前,请确保活动单元格不位于源数据中,或者使用以下代码删除现有系列集合

With DownSweep
    Do While .SeriesCollection.Count > 0
        .SeriesCollection(1).Delete
    Loop
End With